同意你对21的解释
但7应该是和String来比较,String对象是public final,也是immutable,但Math和Wrapper类却不是immutable,这里immutable指的是对象本身是不是可变的String s1="abc";
String s2="abc";
System.out.println(s1==s2);//true
Long l1=new Long("1");
Long l2=new Long("1");
System.out.println(l1==l2);//false其实问题在于String对象可以这样赋值String a="abc";但Long l=1;却会得到编译错误。对于Wrapper类来说,不像String对象(String constant pool)一样不存在常量池