有错误不知道改了晕

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:13:16
class Yumen
{
public static void main(String [] aa)
{
String firstString;
String secondString;
System.out.println("This is"+firstString);
System.out.println("This is"+secondString);
if(firstString==secondString)
{
System.out.println("字符相等");
}
else
{
System.out.println("字符不相等");
}
System.out.println(firstString.concat("his father"));
System.out.println(firstString.replace('i','z'));
}
}

第一点,两个字符串变量的值都是NULL,你要对其进行初始化。

第二点,你如果是要进行值比较的话要用
(firstString.equals(secondString)),
(firstString==secondString)是引用比较,它比较的是两个字符串变量是否引用同一段内存地址,如果你这样写的话即时是它们的数值相同比较出来的结果也是FALSE。因为两个字符串变量的内存地址是不同的。

String firstString;
类型说明而没有赋初值,它的值为NULL,不指向任何数据.

如何比较呢.

建议改为
String firstString="";
下面一句也是一样,即可以比较

要对两个变量进行初始化才行。
不指向任何对象的类怎么进行比较嘛?
就好像你问别人说: 从前有两个男人,你说他们谁更英俊?
这种问题没法回答,但要是你换个问法: 诸葛亮和司马懿谁更英俊?
把类型实例化了,指向特定的对象了,就能够进行比较了