專案中遇到的Integer問題 轉

2021-09-08 19:08:39 字數 1025 閱讀 7312

integer型別值相等或不等分析

用以下**做測試

1      @test

2 public void testinteger()

得出的結論是  integer 型別的值在[-128,127] 期間,integer 用 「==」是可以的。為什麼會出現這個情況呢,實際上在我們用integer a = 數字;來賦值的時候integer這個類是呼叫的public static integer valueof(int i)這個方法。

我們來看看valueof(int i)的**,可以發現他對傳入引數i做了乙個if判斷。在-128<=i<=127的時候是直接用的int原始資料型別,而超出了這個範圍則是new了乙個物件。我們知道"=="符號在比較物件的時候是比較的記憶體位址,而對於原始資料型別是直接比對的資料值。那麼這個問題就解決了。

還有一點需要注意到 是   integer e = 128; int e1 = 128;  e == e1:true  而  integer b = 128; integer b1 = 128;   b==b1:false   ,e=128 已經大於127了,所以e 是乙個物件(new 出來的) 為什麼e = e1 是ture , 因為  int為值型別,引用型別integer與值型別int比較顯然比較的是值因為int在堆中是不開闢記憶體的,他在棧中的值則為他本身的值所以e==e1比較的是他們各自的value, e==e1為true

總結:integer 型別的值在[-128,127] 期間,integer 用 「==」是可以的   , integer  與 int 型別比較(==)比較的是值。

專案中遇到的問題

1.今天第乙個問題是滑動衝突,scrollview和recyclerview的滑動衝突,以前一直是直接用 拿焦點 今天查了一下有其他解決方法,記錄一下,方便還蠻好用,nestedscrollview 和 recyclerview 需要設定乙個這個屬性 recyclerview setnestedsc...

專案中遇到的問題

我們一般打包後把 生成的dist資料夾下面的這兩個東西拖到伺服器下面就行了 到這裡你會發現html檔案才1kb 那麼你需要開啟static,static裡面有個js檔案,點開之後會有許多檔案,開啟js,可以看到,裡面有許多.map檔案,而且很多都很大,如圖最後乙個9m多,這些檔案主要是幫助我們線上除...

專案中遇到的問題

1.在專案中遇到這樣的顯示效果 全部患者 name first el tab pane 2.使用echarts的時候,ajax請求到的data未必就是你需要的data樣式,可以使用es6的class方式,合併成我們需要的樣式 下圖是ui設計的圖,餅圖有不同的顏色 let qq let bb let ...