String 是封装类,他是个对象,存储的是引用的地址,如果要比较值需要使用equals,直接比较则比较的是它引用的地址。
String c1="abc";//c1变量存放的是一个常量"abc"的地址
String c2="abc"//c2变量存放的也是常量"abc"的地址,因此c1==c2
Stirng c3=c1+c2//c3存放的是c1+c2结果的地址,因此c3不等于常量"abcabc"
而int属于基本数据类型,直接进行值的比较
String你用==号比较,实际上比较的他们是不是同一个String对象,你可以看看String的定义,显然拼接的String和你那个常量String不是同一个对象,所以就返回false。要比较内容应该用String的函数eques。第二个int值用==号比较,实际比较的就是他本身所代表的值,所以为true