// ---------------
// Autoboxing.java
// ---------------
import java.util.ArrayList;
import java.util.List;
final class AutoboxingTest {
public static void main (String[] args) {
System.out.println("Autoboxing.java");
{
int i = 2;
final Integer x = i;
assert i == 2;
assert x == 2;
assert x.intValue() == 2;
++i;
assert i == 3;
assert x == 2;
assert x.intValue() == 2;
}
{
int i = 2;
final Integer x = new Integer(i);
assert i == 2;
assert x == 2;
assert x.intValue() == 2;
++i;
assert i == 3;
assert x == 2;
assert x.intValue() == 2;
}
{
int i = 2;
Integer x = i;
assert i == 2;
assert x == 2;
++x;
assert i == 2;
assert x == 3;
}
{
Integer x = 2;
Integer y = 2;
assert x == y;
++x;
assert x != y;
++y;
assert x == y;
}
{
Integer x = new Integer(2);
Integer y = new Integer(2);
assert x != y;
++x;
assert x != y;
++y;
assert x == y;
}
{
Integer x = 128;
Integer y = 128;
assert x != y;
--x;
assert x != y;
--y;
assert x == y;
}
{
Integer x = new Integer(128);
Integer y = new Integer(128);
assert x != y;
--x;
assert x != y;
--y;
assert x == y;
}
{
Long x = 128L;
Long y = 128L;
assert x != y;
--x;
assert x != y;
--y;
assert x == y;
}
{
final int i = 2;
// final Long x = i; // doesn't compile
final Long x = (long) i;
}
{
final long l = 2;
// final Integer x = l; // doesn't compile
final Integer x = (int) l;
}
{
final int[] a = {2, 3, 4};
// final Integer[] b = a; // doesn't compile
final Integer[] b = {2, 3, 4};
}
{
List<Integer> x = new ArrayList<Integer>();
x.add(2);
x.add(3);
x.add(4);
assert x.size() == 3;
assert x.get(1) == 3;
}
System.out.println("Done.");}}
syntax highlighted by Code2HTML, v. 0.9.1