java 中Long與long引起的bug

2021-06-04 15:44:18 字數 428 閱讀 1375

long md=123456l;

linkedlistlist=new linkedlist();

list.add(123456l);

listiteratorit=list.listiterator();

while(it.hasnext())

**中乙個隱藏了很長時間有bug今天找到了。

問題出在了long比較是否相等引起的,示示例如下:

我的本意是判斷md是否在list中,如上所示,md=123456,在list中,但用上面的**得到的結果是不在。

個人分析是因為對於long類,使用==來比較會出問題,因為只有是同乙個物件時,等號才會成立。

解決方法為將md宣告為long,這樣it.next()與md比較時,long會轉換為long。

C 中的long與C 中的long

微軟很厲害,c 是非常優秀的計算機語言,c 比c 還厲害,c c 本身不就包含四個 號嗎?而微軟發明了c c 中的long比c 中的long要long兩倍!不信你看 我正在使用.net寫乙個預約排隊的程式,因為一前通過vc編寫了乙個用於顯示登記資訊的控制項,現在使用c 重新預約程式,則必然要呼叫vc...

工作雜記(1)Long 與 long 的失誤

今天,在除錯 的時候,發現在一行a.set x b.get x 處報錯,此處,b.get x的值為null,後來發現是因為在a這個物件裡面,屬性 x的字段的型別是long,而在b這個物件裡面,屬性 x的字段的型別是long。long是long的包裝型別,可以用來兩個物件之間的比較,物件的值可以為nu...

long型輸入與輸出

long型儲存大小為4個位元組,儲存值的範圍為 2,147,483,648 到 2,147,483,647。long a是long int a的簡寫,完全一樣。ld和 d在一般的32位環境中也是一樣的,因為long和int都是32位的,當然,用 ld更符合規範一些。include intmain l...