Я не видел эту ошибку компиляции раньше, ее очень странно для меня, потому что, как правило, компилятор Java распаковывает объект Integer в тип int primitve и использует добавление.
Я составил свой файл и посмотрите на двоичном коде:
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
0: new #6 // class java/lang/Integer
3: dup
4: iconst_5
5: invokespecial #7 // Method java/lang/Integer."<init>":(I)V
8: astore_1
9: aload_1
10: invokestatic #8 // Method wiggler:(Ljava/lang/Integer;)Ljava/lang/Integer;
13: astore_2
14: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream;
17: aload_1
18: invokevirtual #2 // Method java/lang/Integer.intValue:()I
21: aload_2
22: invokevirtual #2 // Method java/lang/Integer.intValue:()I
25: iadd
26: invokevirtual #9 // Method java/io/PrintStream.println:(I)V
29: return
LineNumberTable:
line 11: 0
line 12: 9
line 13: 14
line 14: 29
}
Я опустил неинтересный двоичный код, потому что interessting часть находится в главном методе. Что я хочу вам показать, так это то, что компилятор Java автоматически распакует класс Wrapper в примитивный тип int с вызовом Method java/lang/Integer.intValue :() I в строке 18 и 22 после этого добавление будет казнены.
Так что другие ответы не помогут ни тем, ни другим.
Предлагаю использовать другой компилятор Java, соответственно обновляя ваш jdk и пытаюсь его компилятор на другой машине.
Вы также можете проверить свой код на ideone, и, как видите, он отлично работает.
http://ideone.com/9tJYf1
общественного класс Print3 {\t общественность статического Целочисленного вигглер (целое число х) { \t Целого число у = х + 10; x ++; System.out.println (x); return y; } public static void main (String [] args) { Integer dataWrapper = new Integer (5); Целочисленное значение = wiggler (dataWrapper); System.out.println (dataWrapper + значение); } } –
Пожалуйста, не добавляйте ваш источник в качестве комментария, отредактируйте его. – reto
Пожалуйста, отредактируйте свой вопрос, чтобы добавить исходный код и ясный вопрос. Чего вы ожидаете? – Kapcash