因为你调用了这个方法之后strValue.substring(3); strValue.concat("123");,没有改变strValue的值,只有当strValue=strValue.substring(3); 这样写是值才会改变,因此result值不变是ABCDEFG,至于这个对象strValue == value进行比较,虽然两个对象的值的相同,但却是不同的对象,内存地址不同,当然会打印false了。然望这样解释你能明白。subString()等方法只是获取相应结果的值而并未改原对象的值 |