社区
Web 开发
帖子详情
两个String怎样看是否相等?
antee
2001-12-01 03:09:12
为什么str1!=str2一直是真的。
...全文
155
5
打赏
收藏
两个String怎样看是否相等?
为什么str1!=str2一直是真的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
itok000
2001-12-01
打赏
举报
回复
原因如下:
因为String是引用类型的,不是基本数据类型,所以它们的比较是使用地址和值(相当于C中的指针)来比较的,因为它们是不同的对象,有不同的地址,所以str1!=str2永远都是true。而str1==str2永远是false。如果你中想比较它们的数值是否相等就使用str1.equals(str2)。使用==或者!=是对象的比较,它们为真的条件是:不仅要求是同一对象,而值也要求相等。
hz129
2001-12-01
打赏
举报
回复
==比较的是两个string对象本身的地址是不是相等
要用str1.equals(str2)
whd11808
2001-12-01
打赏
举报
回复
同意楼上的。
icystone
2001-12-01
打赏
举报
回复
boolean str1.equals(str2)
hardas
2001-12-01
打赏
举报
回复
boolean equals(String Str)
Compares this string to the specified object.
boolean equalsIgnoreCase(String anotherString)
Compares this String to another String, ignoring case considerations.
浅析C#中的等号“==”和Equals
1.“==”和Equals
两个
真的有关联吗? 对于“==”和Equals大多数网友都是这样总结的: “==” 是比较
两个
变量的值
相等
。 Equals是比较
两个
变量
是否
指向同一个对象。 public class Person { public Person(
string
name) { this.Name = name; } public
string
Name { get; set; } } static void Main(
string
[] args) {
string
a = new
string
(new
c\c++中比较
两个
字符串或
string
对象
是否
相等
c\c++中比较
两个
字符串或
string
对象
是否
相等
在写程序的过程中,经常会遇到要比较
两个
字符串
是否
相等
的情况。如果要比较的对象是char*字符串,则利用int strcmp(const char* s1,const char* s2) 当s1<s2时,返回为负数; 当s1==s2时,返回值= 0; 当s1>s2时,返回正数。 ...
判断
两个
String
是否
相等
用==可以判断
String
t1="asd";
String
t2="asd"; 在这里t1==t2是true if (t1 == t2) { System.out.println(true); } 但如果我们用字符串的构造函数来初始化
两个
字符串
String
t1=new
String
("asd");
String
t2=new
String
("asd"); if (t1 == t2) { System.out.println(false); } 所以要使用字符串的eq..
java中判断
两个
String
对象
是否
相等
原文连接 就是说 == 比较 的是
两个
String
对象是不是指向同一个对象 equals比较的是
两个
String
对象的值是不是一样的 在Java中
String
里面的=判断,是在内存地址上是不同的,不是同一个对象,=比较的就是不是同一个对象。任何new出来的类型变量都不会“
相等
”。 Java中存在一个串池, s和s1引用的是同一个字符串对象.
String
s = “hello”;
String
s1 = “hello”; 这两句只会创建一个"hello"字符串放入串池里面,s和s1只是这个字符串的两
面试题之——
String
到底什么时候
相等
?
其实要搞明白
String
.intern(),我总结了下面几条规则: 一、new
String
都是在堆上创建字符串对象。当调用 intern() 方法时,编译器会将字符串添加到常量池中(
string
Table维护),并返回指向该常量的引用。 二、通过字面量赋值创建字符串(如:
String
str=”twm”)时,会先在常量池中查找
是否
存在相同的字符串,若存在,则将栈中的引用直接指向该字符串;若不存在,则在常量池中生成一个字符串,再将栈中的引用指向该字符串。 三、常量字符串的“+”操作,编译阶段直接会合成
Web 开发
81,116
社区成员
341,730
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章