Что есть '++' в Яве...mpdFebruary 18 2013, 09:07:50 UTC
Ещё одна неожиданность: import static java.lang.System.out;
class BoxingAndArgs { static void foo(/*final*/ Integer i) // Integer is immutable: no set() methods { // changes reference, but not the object by reference. ++i; // BoxingAndArgs.java:8: final parameter i may not be assigned out.println(i); }
static void bar(int i) { ++i; out.println(i); }
public static void main(String args[]) { out.println("Integer consts:"); foo(2); bar(3);
out.println("int vars:"); int a = 3; foo(a); ++a; bar(a); out.println("a=" + a);
Comments 5
Reply
Теперь иди и сделай это, удали свой журнал...
Reply
Reply
import static java.lang.System.out;
class BoxingAndArgs
{
static void foo(/*final*/ Integer i) // Integer is immutable: no set() methods
{
// changes reference, but not the object by reference.
++i; // BoxingAndArgs.java:8: final parameter i may not be assigned
out.println(i);
}
static void bar(int i)
{
++i;
out.println(i);
}
public static void main(String args[])
{
out.println("Integer consts:");
foo(2);
bar(3);
out.println("int vars:");
int a = 3;
foo(a);
++a;
bar(a);
out.println("a=" + a);
out.println("Integer vars:");
Integer b = 4;
foo(b);
++b;
bar(b);
out.println("a=" + b);
}
}
Reply
$ java BoxingAndArgs
Integer consts:
3
4
int vars:
4
5
a=4
Integer vars:
5
6
a=5
Reply
Leave a comment