如何比较两个字符串,并输出第一个,如果他们不相等

问题描述:

我有以下问题...我需要比较两个字符串,并输出第一个,如果他们不相等。类似下面的代码,但打印第一个字符串。我该怎么做?如何比较两个字符串,并输出第一个,如果他们不相等

String myString1 = new String("abc123"); 
String myString2 = new String("abc"); 
if(myString1.equals(myString2)) 
{ 
    System.out.println("The two strings are equal"); 
} 
else 
{ 
    System.out.println("The two strings are not equal"); 
} 

你可以只通过第一个字符串作为参数传递给System.out.println,像这样:

if(myString1.equals(myString2)) { 
    System.out.println("The two strings are equal"); 
} 
else { 
    System.out.println(myString1); 
} 
+0

所以你刚刚复制/粘贴OP的代码,并用'myString'在'else'部分改变了消息?我不确定这是否聪明,或只是我,我不明白这个问题(这不存在)。 – 2013-05-07 21:43:12

+0

@LuiggiMendoza看来,OP没有意识到他只能将一个字符串变量的名称传递给'println'。至少这就是我的想法,而我只是想向他指出这一点。 – Renan 2013-05-07 21:44:22

+0

那么,至少要说明你在做什么,不要发布希望OP能够神奇地理解它的代码。请注意,OP甚至没有意识到如何提出问题(任何地方都没有*?*符号的使用)。 – 2013-05-07 21:46:36

您可以使用三元运算:

String myString1 = new String("abc123"); 
String myString2 = new String("abc"); 
System.out.println("The two strings are " + 
    (myString1.equals(myString2) ? "" : "not") + " equal"; 

您还可以使用String.format为那。