想在字符串中,要是相比较两个字符串常用的有几种方法:1、==;2、equals();3、 equalsIgnoreCase();4、compareTo();
第一种方法:==是用来比较两个字符串的地址是否相等;
第二种方法:在没被重写的情况还是==对比(Object里);
第三种方法:与第二种方法类似,但是不区分大小写;
第四种方法:比较两字符串的大小并返回两字符串的长度差或者第一个不同的字符的unicode码值差。
下面我们看一下简单的实例来说明;
第一种方法:==
public class String_1 {
public static void main(String []arg){
String a="abcdef";
String b="abcdef";
if(a==b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
public class String_1 {
String a="abcd";
}
/////////////
public class String_2 {
String b="abcd";
}
///////////////
public class Text {
public static void main(String []arg){
String_1 st1=new String_1();
String_2 st2=new String_2();
if(st1.a==st2.b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
//上面的输出的结果都是:a==b
为什么上面的输出时a==b呢?因为在Java中,数值相同的常量是放在同一内存地址,将其赋值给a、b时候就是把字符串的内存地址引索给了他们。所以a,b比较实质是比较相同的地址。
再看下面:
public class Text {
public static void main(String []arg){
String a=new String(a="abcd");
String b=new String(b="abcd");
if(a==b){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
这一段代码的输出结果是:a!=b;这是因为a,b是两个对象的存放,两对象的地址不一样。
第二种方法:equals();
public class Text {
public static void main(String []arg){
String a=new String(a="abcd");
String b=new String(b="abcd");
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
public class Text {
public static void main(String []arg){
String a="abcd";
String b="abcd";
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
上面的输出结果都是:a==b;在上面比较==时候已经看到两段代码的结果是不一样的,是因为他们的地址引索不一样,而equals();比较的结果却是一样的,是因为他们的值都一样。当他们字符串的赋值不一样时候
public class Text {
public static void main(String []arg){
String a="abcd";
String b="Abcd";
if(a.equals(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出的结果:a!=b;
方法三:equalsIgnoreCase();
他是比较两字符串,不区分大小写;
public class Text {
public static void main(String []arg){
String a="abcd";
String b="Abcd";
if(a.equalsIgnoreCase(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出的结果是:a==b;
public class Text {
public static void main(String []arg){
String a="abcd";
String b="bcd";
if(a.equalsIgnoreCase(b)){
System.out.println("a==b");
}
else{
System.out.println("a!=b");
}
}
}
输出结果是:a!=b;
第四种方法:compareTo();这是用来比较当前字符串与摸字符串的大小,返回两字符串的长度差或者第一个出现不同的字符的unicode值之差。
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=a.compareTo(b);
System.out.println(n);
}
}
输出结果:-4;
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=b.compareTo(b);
System.out.println(n);
}
}
输出结果:0;
public class Text {
public static void main(String []arg){
int n;
String a="abcd";
String b="abcdefgh";
n=b.compareTo(a);
System.out.println(n);
}
}
输出结果:4;
public class Text {
public static void main(String []arg){
int n;
String a="abcdefgh";
String b="Abcdefgh";
n=b.compareTo(a);
System.out.println(n);
}
}
输出结果是:-32;
小弟初学Java不到两个月,有啥错误的或者有啥不足的请求大神、大牛指出
分享到:
相关推荐
"=="和"equals()"是两种常用的字符串比较方法,但它们之间存在一定的区别和使用场景。这篇博客将深入探讨这两个方法的工作原理以及何时应该使用它们。 首先,"=="运算符在Java中主要用于比较基本类型变量的值,如...
if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)) { return true; } return false; } } ``` 在这个例子中,通过定义`S_CONSTANT_ABC`作为常量,当需要更改比较的字符串时,只需在一处修改即可。这有助于减少...
equals() 方法用于比较两个字符串是否相等,equalsIgnoreCase() 方法用于比较两个字符串是否相等,忽略大小写。例如: String s1="Hello"; String s2="hello"; System.out.println(s1.equals(s2)); // false System...
if(newStatusCode.equals("SD") && (sellOffDate == null || todayDate.compareTo(sellOffDate) <= 0 || (lastUsedDate != null && todayDate.compareTo(lastUsedDate) <= 0)) || newStatusCode.equals("OBS") && ...
6. equals() 和 equalsIgnoreCase() 方法:比较两个字符串 equals() 方法比较两个字符串是否相等,而 equalsIgnoreCase() 方法忽略大小写比较两个字符串是否相等。例如,String s1="Hello"; String s2="hello"; s1....
equals() 函数用于比较两个字符串是否相同,equalsIgnoreCase() 函数用于忽略大小写比较两个字符串是否相同。 例如:String s1 = "Hello"; String s2 = new String(s1); System.out.println(s1.equals(s2)); // ...
在实际编程中,选择哪种方法取决于具体需求,如是否区分大小写、比较的依据(内容还是引用)以及是否关心性能。在分析`StringDemo_05.java`代码时,我们可以看到如何在实际应用中使用这些方法。同时,`Java.jpg`可能...
System.out.println("s2.equalsIgnoreCase(s3) is " + s2.equalsIgnoreCase(s3)); ``` `s2`和`s3`的大小写不同,但内容相同,因此`equalsIgnoreCase`返回`true`。 4. **部分字符串比较(regionMatches)**:该...
7. **equalsIgnoreCase()**:这个方法与`equals()`类似,但它忽略字符串的大小写。 8. **compareTo()** 和 `Collator`:对于更复杂的比较需求,如本地化字符串比较,可以使用`Collator`类,它提供了对字符串的区域...
if(newStatusCode.equals("SD")&&(sellOffDate==null||todayDate.compareTo(sellOffDate)<=0||(lastUsedDate!=null&&todayDate.compareTo(lastUsedDate)<=0))) { newStatusCode="NYP"; } else if(newStatusCode....
`equals()` 和 `equalsIgnoreCase()` 用于比较两个字符串是否相等。 - `equals()` 比较时区分大小写。 - `equalsIgnoreCase()` 比较时不区分大小写。 ```java String s1 = "Hello"; String s2 = "hello"; System.out...
6. `equals()` 和 `equalsIgnoreCase()`:`equals()`用于比较两个字符串的内容是否相同,`equalsIgnoreCase()`忽略大小写进行比较。例如: ```java String s1 = "Hello"; String s2 = new String(s1); System....
在Java编程语言中,字符串是比较常见且重要的数据类型。字符串比较是编程中常见的操作,...在涉及到字符串比较时,建议优先使用`equals()`或`equalsIgnoreCase()`,以确保正确地比较字符串的内容,而不是它们的引用。
3、 使用compareTo方法:int compareResult = str1.compareTo(str2); 如果compareResult > 0,则str1在字典顺序上大于str2;如果compareResult ,则str1小于str2;如果compareResult == 0,则str1等于str2。 六、...
通过以上的介绍和示例,我们可以了解到`String`类在Java中的强大功能以及使用时需要注意的一些细节。正确地理解和使用`String`类及其方法能够帮助我们在实际编程中更加高效地处理字符串相关的任务。
5. `equals(Object obj)`和`equalsIgnoreCase(String str)`方法:用于比较两个字符串的内容是否相同。`equals()`区分大小写,`equalsIgnoreCase()`不区分。比如,`"hello".equals("Hello")`返回true,而`"hello"....
System.out.println(str.compareTo("I")); 结果-1,表示 "Hello,World!" 小于 "I"。 3. compareToIgnoreCase(String str) 函数:该函数用于比较两个字符串的大小,但是忽略大小写。返回值大于0,表示大于;返回值...