1.可以使用 equals方法检测两个字符串是否相等。
对于表达式:

 s.equals(t)

如果字符串 s 与字符串 t 相等, 则返回 true ; 否则, 返回 false。

2.需要注意,s与 t 可以是字符串变量, 也可以是字符串字面量。例如,下列表达式是合法的:

"Hello".equals(greeting)

3.要想检测两个字符串是否相等,而不区分大小写, 可以使用 equalsIgnoreCase 方法。

"Hello".equalsIgnoreCase("hello")

4.一定不要使用==运算符检测两个字符串是否相等! 这个运算符只能够确定两个字串 是否放置在同一个位置上。当然, 如果字符串放置在同一个位置上, 它们必然相等。但是, 完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上。

String greeting = "Hello"; //initialize greeting to a string
if (greeting == "Hello") . . .
// probably true
if (greeting.substring(0, 3) == "Hel") . . .
// probably false

  如果虚拟机始终将相同的字符串共享, 就可以使用= 运算符检测是否相等。但实际上 只有字符串常量是共享的,而+ 或 substring 等操作产生的结果并不是共享的。因此,千万不要使甩== 运算符测试字符串的相等性, 以免在程序中出现糟糕的 bug。从表面上看, 这种 bug 很像随机产生的间歇性错误。

.C++ 注释:
  对于习惯使用 C++ 的 string 类的人来说, 在进行相等性检测的时候一定要特别小心。C++ 的 string 类重载了 == 运算符以便检测字符串内容的相等性。 可惜 Java 没 有采用这种方式, 它的字符串“ 看起来、感觉起来” 与数值一样, 但进行相等性测试时, 其操作方式又类似于指针。语言的设计者本应该像对 + 那样也进行特殊处理, 即重定义 = 运算符。 当然,每一种语言都会存在一些不太一致的地方。
  C 程序员从不使用 = 对字符串进行比较, 而使用 strcmp 函数。Java 的 compareTo 方法与 strcmp 完全类似, 因此,可以这样使用:

 if (greeting.compareTo("Hel1oH) === 0} . . .

不过, 使用 equals 看起来更为清晰。

Java 1.1.4 检测字符串是否相等相关推荐

  1. Java中的如何检测字符串是否相等

    文章目录 0 写在前面 1 介绍 2 举例 3 写在后面 0 写在前面 实际业务中有时候得检测字符串是否相等的场景. 例如在数据库中提取uuid,检测两个uuid是否相等就需要用到这个地方. 1 介绍 ...

  2. Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…

    6.18(检测密码)一些网站对于密码具有一些规则.编写一个方法检测字符串是否是一个有效密码.编写一个程序,提示用户输入一个密码,如果符合规则,则显示-否则显示- 题目 题目描述 破题 代码 运行示例 ...

  3. android 检测字符串是否为合法域名

    今天,简单讲讲android里如何检测输入的字符串为合法的域名. 这个昨天搜索了很多资料,基本没有找到符合要求的代码.后来,花了很多时间,才解决了问题.这里记录一下. 一.检查输入域名是否合法. 具体 ...

  4. Java基础(数据类型、字符串)

    Java基本程序设计结构 数据类型 整型 浮点类型 char类型 boolean类型 运算符 数值类型之间的转换 强制类型转换 字符串 拼接 String API String常用的方法 空串与Nul ...

  5. Java 图像处理教程(人脸检测,添加水印,图像颜色转换)

    Java 图像处理教程(人脸检测,添加水印,图像颜色转换) 文章目录 Java 图像处理教程(人脸检测,添加水印,图像颜色转换) 1:图片的读和写 2:彩色图像转换成灰度图像 3:彩色图像转换成负图像 ...

  6. 使用java中replaceAll方法替换字符串中的反斜杠

    今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...

  7. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  8. java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法...

    1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...

  9. R语言stringr包str_detect函数检测字符串中模式存在与否实战

    R语言stringr包str_detect函数检测字符串中模式存在与否实战 目录 R语言stringr包str_detect函数检测字符串中模式存在与否实战 #导入stringr包

最新文章

  1. 22岁专访库克、B站3天涨粉百万,他将毕设树莓派扫描仪升级,繁星散落在校空!...
  2. 测试总监7天整理的那些高频而真实的软件测试面试题,速来get
  3. 在windows环境下基于sublime text3的node.js开发环境搭建
  4. MSI-X 之有别于MSI
  5. android控件属性
  6. ADO.Net Entity Framework Linq To Entities 语法功能汇编
  7. SQL Server R2 地图报表制作(四)
  8. linux--监控系统之Zabbix简介(二)
  9. POI的入门:加载解析Excel
  10. 使用 .NET CORE 创建 项目模板,模板项目,Template
  11. java学习(11):Java数据类型转换
  12. 0x30 java_终于找到了!有了它你就可以读懂字节码了!
  13. go语言如何调用java接口,[译] 如何在 Go 中使用接口
  14. 如何把include_type_name的值设置为true
  15. @程序员,除了女朋友你还要带什么回去?
  16. 如何使用JavaScript来写ASP程序
  17. Cesium:地球中实现点击浮动弹窗
  18. if判断与while、for循环语句
  19. 自动控制原理第2章——自动控制系统的数学模型(思维导图)
  20. 计算机与现代社会英语作文,急求英文翻译 随着现代社会的发展,人工智能已经逐步进入了我们的生活。人工智能带给了我们生活无穷的便...

热门文章

  1. twisted学习资料
  2. 一款可以安利的MarkDown编辑器
  3. JAVA基础--IO输入输出(File使用)17
  4. 多线程之Thread类
  5. cmd下运行java文件时,找不到或无法加载主类的解决方法
  6. Android中startActivity中的permission检测与UID机制
  7. 多表关联的update语句
  8. Node.js 入门知识点总结
  9. Strust2 本地化/国际化
  10. Windows开机 桌面一片空白 无法操作