Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较字符串与字符串值_Java_String_If Statement - Fatal编程技术网

Java 比较字符串与字符串值

Java 比较字符串与字符串值,java,string,if-statement,Java,String,If Statement,可能重复: 我有一个名为DomainType的字符串,它通常保存url中的“edu、com、org..等”值。我使用if-else语句帮助检查数据类型并输出一个JOptionPane。出于某种原因,无论何时键入任何域类型,它都会为您提供最后一个选项 以下是我编写的代码片段: DomainType = URL.substring(URLlength - 3, URLlength); if (DomainType == "gov") { JOptionPane.showMessageDi

可能重复:

我有一个名为
DomainType
的字符串,它通常保存url中的“edu、com、org..等”值。我使用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语句,我做得不对。

要比较内容,请使用
等于,而不是
==
(比较引用):


要比较内容,请使用
等于
,而不是
=
(用于比较引用):


比较字符串时,切勿使用
=
,而应使用
等于。因此,与其

DomainType == "org"
使用


为什么?<代码>=
将比较引用。这意味着:内存值。对于你的弦来说,它们可能并不相等
equals
将比较值,这是您想要的。

在比较字符串时,切勿使用
=
,而应使用
equals
。因此,与其

DomainType == "org"
使用


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

另一方面,超级if可能不是最优雅的方式——抱歉,只是学究式的


.equals()方法确实是比较对象的正确方法。

另一方面,mega if可能不是最优雅的方法——抱歉,只是太迂腐了


.equals()方法确实是比较对象的正确方法。

我想知道,由于Java设计人员决定使用==这种方法,浪费了多少时间。。。我们可能会永远看到同样的问题出现。。。是的,这真是一个恼人的限制。哦,为什么“==”操作符对
String
的工作方式与任何其他对象不同?那太愚蠢了。。。甚至比字符串连接运算符看起来和算术加法运算符一样愚蠢。我想知道,由于Java设计人员决定使用==这种方式,浪费了多少数百万小时。。。我们可能会永远看到同样的问题出现。。。是的,这真是一个恼人的限制。哦,为什么“==”操作符对
String
的工作方式与任何其他对象不同?那太愚蠢了。。。甚至比字符串连接运算符看起来与算术加法运算符相同更愚蠢。没错,比较对象引用时经常使用“==”。没错,比较对象引用时经常使用“==”。
DomainType.equals("org")