永发信息网

怎样比较两个类型为String的字符串

答案:1  悬赏:70  手机版
解决时间 2021-04-02 23:35
  • 提问者网友:几叶到寒
  • 2021-04-02 13:39
怎样比较两个类型为String的字符串
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-04-02 14:30
java中的字符串比较方法:  1)string1.equals(string2)  2)str1==str2。  java中字符串的比较是==比较引用,equals比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。例如:Stringstr1=newString("a");Stringstr2=newString("a");str1==str2输出falsestr1.equals(str2)输出true而如果这样声明Stringstr1="a";Stringstr2="a";str1==str2输出truestr1.equals(str2)输出true这是因为equals方法本来也是比较引用的字符串类在实现的时候重写了该方法。  第一种声明方法等于是声明了两个对象,用’==‘比较是时候比较的是引用输出的是false由于他们的值相同用equals的时候就比较的是值了,输出true。  第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈共用的现象,也就是说在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯