本帖最后由 赖波 于 2013-10-19 17:24 编辑
- <div class="blockcode"><blockquote>
- <blockquote>
复制代码 public class AnimalFarm{
public static void main(String[] args){
final String pig = "length: 10";
final String dog = "length: " + pig.length();
System.out.println("Animals are equal: "+ pig == dog);
System.out.println("--------------以下测试--------------");
System.out.println("pig的hashCode:"+pig.hashCode());//一般hashCode值是内存地址显然这不是
System.out.println("dog的hashCode:"+dog.hashCode());
System.out.println("pig的长度:"+pig.length());
System.out.println("dog的长度:"+dog.length());
boolean flag=pig==dog;
System.out. println("pig,dog用==的比较:"+flag);
System.out. println("pig,dog用equals的比较:"+pig.equals(dog));
/*以上可以得出:字符串,用"equals"去比较,"=="不好,
* 再看帮助文档:
*
* String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现(*这重点,可以说String是对象了*)。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。
* "equals"方法是这样说的:将此字符串与指定的对象比较
* "=="方法是比较内存地址的
*
* */
}
}
|