在此程序中,您将学习比较Java中的两个字符串。
示例1:比较两个字符串
public class CompareStrings { public static void main(String[] args) { String style = "Bold"; String style2 = "Bold"; if(style == style2) System.out.println("Equal"); else System.out.println("Not Equal"); } }
运行该程序时,输出为:
Equal
在上面的程序中,我们有两个字符串style和style2。我们仅使用相等运算符(==)比较两个字符串,该字符串将值Bold与Bold进行比较并输出Equal。
示例2:使用equals()比较两个字符串
public class CompareStrings { public static void main(String[] args) { String style = new String("Bold"); String style2 = new String("Bold"); if(style.equals(style2)) System.out.println("Equal"); else System.out.println("Not Equal"); } }
运行该程序时,输出为:
Equal
在上面的程序中,我们有两个字符串样式style和style2,它们都包含相同的Bold。
但是,我们使用String构造函数来创建字符串。 要在Java中比较这些字符串,我们需要使用字符串的equals()方法
您不应该使用==(等号运算符)来比较这些字符串,因为它们会比较字符串的引用,即它们是否是同一对象
另一方面,equals()方法比较的是字符串的值是否相等,而不是对象本身。
如果改为将程序更改为使用相等运算符,则将得到不等于,如下面的程序所示。
示例3:使用==比较两个字符串对象(不起作用)
public class CompareStrings { public static void main(String[] args) { String style = new String("Bold"); String style2 = new String("Bold"); if(style == style2) System.out.println("Equal"); else System.out.println("Not Equal"); } }
运行该程序时,输出为:
Not Equal
示例4:比较两个字符串的不同方法
这是在Java中可能进行的字符串比较。
public class CompareStrings { public static void main(String[] args) { String style = new String("Bold"); String style2 = new String("Bold"); boolean result = style.equals("Bold"); // true System.out.println(result); result = style2 == "Bold"; // false System.out.println(result); result = style == style2; // false System.out.println(result); result = "Bold" == "Bold"; // true System.out.println(result); } }
运行该程序时,输出为:
true false false true