Это часть моей программы Java, которую я извлек и упростил для тестирования. Задача состоит в том, чтобы сравнить два целых числа из ArrayList и указать, являются ли они равными.JAVA: сравнение не работает, если целое число больше 128
Данный код работает для номеров < 128, но любое число> 128, и код не будет работать.
Любая помощь была бы действительно замечательной, спасибо.
import java.util.*;
public class test
{
public static void main (String[] args)
{
Integer seat1Store = 128;
Integer seat2Store = 128;
Integer seat3Store = 0;
Integer seat4Store = 0;
Integer seat5Store = 0;
ArrayList<Integer> proceedArray = new ArrayList<Integer>();
if (seat1Store !=0)
{
proceedArray.add(seat1Store);
}
if (seat2Store !=0)
{
proceedArray.add(seat2Store);
}
if (seat3Store !=0)
{
proceedArray.add(seat3Store);
}
if (seat4Store !=0)
{
proceedArray.add(seat4Store);
}
if (seat5Store !=0)
{
proceedArray.add(seat5Store);
}
System.out.println("ArrayList = " + proceedArray);
boolean proceed = false;
for(int i = 0; i<proceedArray.size();i++)
{
for(int p=0; p<proceedArray.size(); p++)
{
if(i != p)
{
if(proceedArray.get(i) == proceedArray.get(p))
{
System.out.println("DUPLICATE");
System.exit(0);
}
}
}
proceed = true;
}
if (proceed == true)
{
System.out.println("PROCEEDED");
}
}
}
возможно дубликат [объектов Целые оболочки одни и те же экземпляры только в пределах стоимости 127?] (Http://stackoverflow.com/questions/5117132/integer-wrapper-objects-share-the-same-instances -only-in-the-value-127) – RanRag