当在第33行重新声明Integer'a'时,为什么jshell将引用变量显示为Integer的实例(参考第38和39行)?重新声明后,第34行显示'a'设置为null.当'a'在第6行声明但未给出值时,或在第22行中重置为null时,'a'不被视为Integer的实例.我希望当引用变量被重新声明时,因为它的值为null,所以它不是一个类型的实例; 然而,事实并非如此.
01: java-lava:~ cafedude$ jshell
02: | Welcome to JShell -- Version 11
03: | For an introduction type: /help intro
04:
05: jshell> Integer a;
06: a ==> null
07: | created variable a : Integer
08:
09: jshell> a instanceof Integer;
10: $2 ==> false
11: | created scratch variable $2 : boolean
12:
13: jshell> a = 1;
14: a ==> 1
15: | assigned to a : Integer
16:
17: jshell> a instanceof Integer;
18: …Run Code Online (Sandbox Code Playgroud)