Java字符串比较,==,等于,匹配,compareTo()之间的差异。

的equals() 方法将此字符串与指定的对象进行比较。当且仅当参数不为null并且是一个String对象,表示与此对象相同的字符序列时,结果为true。

示例

public class Sample{
   public static void main(String []args){
      String s1 = "nhooo";
      String s2 = "nhooo";
      String s3 = new String ("nhooo.com");
      System.out.println(s1.equals(s2));
      System.out.println(s2.equals(s3));
   }
}

输出结果

true
false

您还可以使用==运算符比较两个字符串。但是,它比较给定变量的引用而不是值。

示例

public class Sample {
   public static void main(String []args) {
      String s1 = "nhooo";
      String s2 = "nhooo";
      String s3 = new String ("nhooo.com");
      System.out.println(s1 == s2);
      System.out.println(s2 == s3);
   }
}

输出结果

true
false

matches()String类的方法告诉此字符串是否与给定的正则表达式匹配。以str.matches(regex)形式调用此方法所产生的结果与表达式Pattern.matches(regex,str)完全相同。

示例

import java.io.*;
public class Test {
   public static void main(String args[]) {
      String Str = new String("Welcome to Nhooo.com");
      System.out.print("返回值:" );
      System.out.println(Str.matches("(.*)Tutorials(.*)"));
      System.out.print("返回值:" );
      System.out.println(Str.matches("Tutorials"));
      System.out.print("返回值:" );
      System.out.println(Str.matches("Welcome(.*)"));
   }
}

输出结果

返回值:true
返回值:false
返回值:true