String str = null和String str =“ null”有什么区别?

时间:2019-03-13 12:13:38

标签: java string null

我有一个带有两个字符串变量的类,即:

String str = null;
String str1="null";

一个是“字符串值null”,另一种是将null对象分配给字符串变量。 那么,这两个任务有什么区别?如何检查一个任务是否与另一个任务不同?

3 个答案:

答案 0 :(得分:7)

String str = null;表示str是String的引用,它指向null。

String str1="null";表示str1对象,它指向字符串对象,它为“ null”。

首先检查object是否为null?然后使用equals方法进行比较。 喜欢

if(str==null && str1==null){
   //Both are null and equal
}   

if(str != null && str.equals(str1)){
  //return true;
}
else
{
   //return false;
}  

答案 1 :(得分:3)

字符串"null"是一个长度为4的字符串,包含字符null。可以与其他任何字符串一起使用。

null引用不是字符串。任何尝试像字符串一样使用它都会导致NullPointerException

答案 2 :(得分:0)

1)字符串str = null;

这里str没有创建实例,因为它被分配为null,因此堆中没有新的内存消耗

2)字符串str1 =“ null”;

在这里创建了str1字符串实例,并将“ null”存储为值