int
次のコードを使用して、Java(SE7)が最大値を超えるをどのように処理するかをテストしていました。
int index = 2147483647;//the maximum value of int
long size = 2147483648L; //More than the maximum value of int by 1
int safeCounter=0; //To prevent the infinite loop
while (index<size)
{
System.out.println("Index now is : "+index);//show the int value
index++; //increment the int value
safeCounter++; //increment the number of desired loops
if (safeCounter==3){
break;//to break the loop after 3 turns
}
}
そして私が得たものは:
現在のインデックス:2147483647現在のインデックス:-2147483648現在のインデックス:-2147483647
したがって、これに混乱した後(これを使用しないsafeCounter
と、最大値と最小値の間で永久に移動し続け、例外はスローされません)、次のような状況をint
どのように処理するのか疑問に思いました。ArrayList
要素の数がの最大値を超えていますかint
(ヒープスペースが問題ではないと仮定)?そして、ArrayList
これを処理できない場合、他に処理できるデータ構造はありますか?
int
変数から得た動作についても説明できますか?