java比較兩個字元串
❶ java中兩個字元串如何比較大小
使用
String.compareTo
方法:
compareTo()
的返回值是int,
它是先比較對應字元的大小(ASCII碼順序)
1、如果字元串相等返回值0
2、如果第一個字元和參數的第一個字元不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字元串的值小於後字元串,正值前字元串大於後字元串)
3、如果第一個字元和參數的第一個字元相等,則以第二個字元和參數的第二個字元做比較,以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度.
例:
String
s1
=
"abc";
String
s2
=
"abcd";
String
s3
=
"abcdfg";
String
s4
=
"1bcdfg";
String
s5
=
"cdfg";
System.out.println(
s1.compareTo(s2)
);
//
-1
(前面相等,s1長度小1)
System.out.println(
s1.compareTo(s3)
);
//
-3
(前面相等,s1長度小3)
System.out.println(
s1.compareTo(s4)
);
//
48
("a"的ASCII碼是97,"1"的的ASCII碼是49,所以返回48)
System.out.println(
s1.compareTo(s5)
);
//
-2
("a"的ASCII碼是97,"c"的ASCII碼是99,所以返回-2)
❷ JAVA比較兩個字元串是否相等用什麼
JAVA比較兩個字元串是否相等可以用equals方法或者是「==」。
equals 方法常常用來檢測兩個對象是否相等,即兩個對象的內容是否相等,如果只是比較對象的內容,而不比較對象來源和功能類型時,常用此方法。
「==」常用於用於比較引用和比較基本數據類型時是否具有不同的功能,比較基本數據類型,如果兩個值相同,則結果為true而在比較引用時,如果引用指向內存中的同一對象,結果為true。
(2)java比較兩個字元串擴展閱讀
equals 方法的特點:
1、自反性:x.equals(x)返回true;
2、對稱性:若x.equals(y)為true,則y.equals(x)亦為true;
3、傳遞性:若x.equals(y)為true且y.equals(z)也為true,則x.equals(z)亦為true;
4、一致性:x.equals(y)的第一次調用為true,那麼x.equals(y)的第二次、第三次、第n次調用也均為true,前提條件是沒有修改x也沒有修改y;
5、對於非空引用x,x.equals(null)永遠返回為false。
❸ JAVA如何進行字元串比較
1、首先,隨便創建一個有main方法的類。
❹ java怎麼比較兩個字元串是否相等
編程中,通常比較兩個字元串是否相同的表達式是「==」,但在java中不能這么寫。在java中,用的是equals();例:A字元串和B和字元串比較:if(A.equals(B)){}返回true或false.String的equals方法用於比較兩個字元串是否相等。由於字元串是對象
❺ Java中如何判斷兩個String是否相等
1. 在java中,不能用「==」和「!=」來判斷兩個字元串是否相等。因為String是引用類型,而不是基本數據類型。
故它們的比較是使用地址和值
來比較,因為它們是不同的對象,有不同的地址。故str1==str2永遠是false,而str1!=str2永遠都是true。
2. Java中必須使用string1.equals(string2)來進行判斷
string s1="Hello";
string s2="Hello";
則(s1==s2)=true;
因為他們指向的同一個對象。
String s1=new String("Hello");
String s2=new String("Hello");
則(s1==s2)=false
如果把其他變數的值賦給s1和s2,即使內容相同,
由於不是指向同一個對象,也會返回false。
所以建議使用equals(),因為equals比較的才是真正的內容
3.案例
String string1=new String( "aaa" );
String string2=new String( "aaa" );
這兩個字元串當然應該是相等的。
如果用表達式string1==string2,則該表達式的值為false
如果用表達式string1.equals(string2),則該表達式的值為true
❻ java中怎麼樣比較字元串相等
==比較字元串是否引用同一地址,如果2個字元串是同一個對象,那可以用==,如果不是同一個對象,只是比較內容是否一致,則不可以用==。
比如:
String
s1
=
"abc";
String
s2
=
"abc";
System.out.println(s1
==
s2);
//
true,因為s1和s2是同一個字元串常量abc的引用,是同一個對象地址,所以相同
String
s1
=
new
String("abc");
String
s2
=
new
String("abc");
System.out.println(s1
==
s2);
//
false,因為s1和s2是兩個不同的對象,雖然字元串值都是abc,但是用==比較不相同。
❼ java中怎麼比較兩個字元串
char a是字元型
「你「||」好」是字元串(String)的類型。單引號 '你' 『好』 這才是字元型
equals是String比較內容是否一致的常用方法
基本數據類型比較是否相等應該用 ==
例子
chara='你';
if(a=='你'){
....
}
如果想把char變成String。
最簡單的方式
chara='你';
//讓字元類型鏈接一個字元串類型,自動轉換為字元串String
Stringb=a+"";
System.out.println(b);
if(b.equals("你"||"好")){
....
}
復雜的方式一 利用字元串的方法來實現
Stringstr1=String.valueOf('你');
復雜的方式二 利用char的包裝類型Character的方法來實現
Stringstr2=Character.toString('你');