java - 将字符串与字符串值进行比较

标签 java string if-statement

<分区>

Possible Duplicate:
Java String.equals versus ==

我有一个名为 DomainType 的字符串,它通常包含来自 url 的值,例如“edu,com,org..etc”。我使用 if else 语句来帮助检查数据类型并输出 JOptionPane。出于某种原因,每当您键入任何域类型时,它都会为您提供最后一个选项。

这是我编写的代码片段:

DomainType = URL.substring(URLlength - 3, URLlength);

if (DomainType == "gov") {
    JOptionPane.showMessageDialog(null, "This is a Government web address.");
}
else if (DomainType == "edu") {
    JOptionPane.showMessageDialog(null, "This is a University web address.");
}
else if (DomainType == "com") {
    JOptionPane.showMessageDialog(null, "This is a Business web address.");
}
else if (DomainType == "org") {
    JOptionPane.showMessageDialog(null, "This is a Organization web address");
}
else {
    JOptionPane.showMessageDialog(null, "This is an unknown web address type.");
}

所以 DomainType 给了我 edu 或 com 没有问题,但我认为这是我的 if 语句我做的不对。

最佳答案

当比较字符串时,永远不要使用==,使用equals。所以,而不是

DomainType == "org"

使用

DomainType.equals("org")

为什么? == 将比较引用。这意味着:内存值。它们对于您的琴弦可能不相等。 equals 将比较值,这就是您想要的。

关于java - 将字符串与字符串值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7620779/

相关文章:

java - 如何从 java 代码获取 Maven 项目 BaseDir()

java - 在 Java 中对某些字符序列的大字符串进行查找/替换的最有效方法

java - 如何使用parseInt将字符串转换为整数?

python - 想要知道有多少对象位于两个不同子集的重叠部分

java - 在目录中搜索 wav 文件

java - 在 AWS 中部署非 Web Java 应用程序

php - 如何从核心php中的两个变量中提取常用词

c# - 带有类型检查 C# 的更好的 If 语句

java - IF 参数

java - PyCharm 教育版无法在 Mac 上启动