java - 字符串比较中奇怪的 Java 行为

标签 java string

<分区>

Possible Duplicate:
Java string comparison?

我遇到了以下问题,我有一个名为“lang”的对象,它是输出字符串的方法 LanguageDetector.detect() 的结果。

lang = LanguageDetector.detect();

所以我想检查语言是否是英语,所以我正在检查,

lang == "en"

以下屏幕是我的调试屏幕,我的 lang 显示“en”,但是我的 lang == “en” 显示 false 而 lang.toString() == “en” 是 false,有没有人遇到过以下问题并有可能的解决方案?

Weird java problem

最佳答案

使用String对象的equals()方法代替直接比较。

String first = new String("Hello");
String second = new String("Hello");

first == second will return false.

first.equals(second) will return true.

关于java - 字符串比较中奇怪的 Java 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6723281/

相关文章:

java - 设置某个配置文件时不加载 Spring bean

java - 开源基于网络的屏幕共享

java - 使用 install4j 打包的 org.apache.tools.tar.* 类时,如何在 Java 中处理 GNU 长文件名?

java - 这个java计算器程序可以更简化吗?

ios - 将 String 转换为 NSURL 在 swift 中返回 nil

c# - 包含反斜杠的路径字符串无法识别的转义序列

c - c中的unicode字符串操作

java - Blue J 显示正在运行,但不会打开结果窗口

Javascript在字符串的第n个位置插入空格

java - 格式化包含数字的字符串