Сравняване на
Когато присвояваме целочислена стойност на целочислен обект, стойността се автоматично boxing в целочислен обект. Например твърдението "Integer x = 10" създава обект "x" със стойност 10.
Но какъв ще е изхода от следния пример:
public class Application {
public static void main(String args[]) {
Integer x = 400, y = 400;
if (x == y)
System.out.println("Едни и същи");
else
System.out.println("Не са едни и същи");
}
}
Но какъв може да се обясни изхода от следния пример:
public class Application {
public static void main(String args[]) {
Integer x = 40, y = 40;
if (x == y)
System.out.println("Едни и същи");
else
System.out.println("Не са едни и същи");
}
}
Ако изрично създадем нови обекти с помощта на оператор new, получаваме изхода като "Не са едни и същи". Вижте следната Java програма където не се използва valueOf().
public class Application {
public static void main (String args[]) {
Integer x = new Integer(40), y = new Integer(40);
if (x == y)
System.out.println("Едни и същи");
else
System.out.println("Не са едни и същи");
}
}
С получената информация до тук, какъв ще е изхода от следния пример, защо?
public class Application {
public static void main(String[] args) {
Integer X = new Integer(10);
Integer Y = 10;
System.out.println(X == Y);
}
}
Last updated
Was this helpful?