1、说明Java中String str=null与String str=""的区别? String str = null 表示声明了一个String对象的引用str,但是没有为其分配内存空间。 String str = "" 表示创建了一个长度等于0的空字符串,并在内存中为其分配了内存空间。 String str = new String("tw"); str在内存中有两个对象,1.堆内存有一个 new Sting 2.常量池中有一个字符串。 2、使用运算符"= ="和方法equals() 进行比较对象的区别? 使用"= ="算符比较基本数据类型时,比较的是值相等;使用"=="算符比较对象时,比较的是内存地址和内容。 使用equals()方法 比较对象时,比较的是对象的内容,与地址无关,如果没有重写equals()方法就直接调用的是Object的equals()方法。 "=="比较的是外在和内涵;equals()比较的是外在。用博大精深的中文讲就是:一个相同,一个相似。
|