簡體   English   中英

將一個數組分配給Java中大小不同的另一個數組

[英]Assignining one array to other which are diffrent in size in java

給定代碼:

float []    f3 = {2.7f};
float [] [] f2 = {{42.0f}, {1.7f, 1.9f}};

通過語句if(f2[1]==f3)我應該了解什么? 結果為false ,但是我們是否在比較它們的大小?

您正在比較引用,因為在Java 數組中是對象 :由於這些是不同的對象,您將得到false

如果您有這個:

int[] f3 = { 100 };
int[][] f2 = { f3, { 2, 1 } };

System.out.println(f2[0] == f3);

輸出為true因為您將引用f3添加為數組f2的元素。

f2[1] == f3比較對不同float[]實例的引用,它將永遠不會返回true。 改用Arrays.equals

f2[1]==f3測試f2[1]指向與f3相同的地址。 因此,即使你寫

float [] f3={1.7f,1.9f};
float [] [] f2={{42.0f},{1.7f,1.9f}};

它仍然會返回假。 僅當您分配

f2[1] = f3;

反之亦然f2[1]==f3將為真。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM