2013-02-07 25 views
6

Tôi đang thực hiện một chương trình trong java và tất cả của nó trở nên tốt đẹp cho đến khi tôi muốn làm một vòng lặp trong khi đó là như thế này:!Làm thế nào để làm cho các chuỗi =

while(String.notEqual(Something)){...}

Tôi biết không có những thứ như vậy không phải như thế nhưng có cái gì đó tương tự?

Trả lời

18

Sử dụng! cú pháp. ví dụ

if (!"ABC".equals("XYZ")) 
{ 
// do something 
} 
3

sử dụng .equals kết hợp với các nhà điều hành không !. từ JLS §15.15.6,

Kiểu của biểu thức toán hạng của ! hành unary phải boolean hoặc Boolean, hoặc một thời gian biên dịch lỗi xảy ra.

Loại biểu thức bổ sung logic đơn nhất là boolean.

Khi chạy, toán hạng phải chuyển đổi unboxing (§5.1.8) nếu cần thiết. Giá trị của biểu thức bổ sung logic đơn nhất là true nếu giá trị toán hạng (có thể được chuyển đổi) là falsefalse nếu giá trị toán hạng (có thể được chuyển đổi) là true.

0
while(!string.equals(Something)) 
{ 
    // Do some stuffs 
} 
2
String a = "hello"; 
String b = "nothello"; 
while(!a.equals(b)){...} 
1
String text1 = new String("foo"); 
String text2 = new String("foo"); 

while(text1.equals(text2)==false)//Comparing with logical no 
{ 
    //Other stuff... 
} 

while(!text1.equals(text2))//Negate the original statement 
{ 
    //Other stuff... 
} 
0

Không có một điều như vậy gọi là notEquals vì vậy nếu bạn muốn phủ định sử dụng!

while(!"something".equals(yourString){ 
//do something 
} 
1

Nếu bạn muốn case-sensitive so sánh sử dụng equals(), nếu không bạn có thể sử dụng equalsIgnoreCase().

String s1 = "a"; 
String s2 = "A"; 

s1.equals(s2); // false 

if(!s1.equals(s2)){ 
    // do something 
} 

s1.equalsIgnoreCase(s2); // true 

Một cách khác để so sánh chuỗi đó là hữu ích đối với một số trường hợp (ví dụ như phân loại) là sử dụng compareTo trả về 0 nếu chuỗi đều bình đẳng, > 0 nếu s1> s2 và < 0 khác

if(s1.compareTo(s2) != 0){ // not equal 

} 

Ngoài ra còn có compareToIgnoreCase

0

nếu bạn thay đổi chuỗi trong vòng lặp của mình, tốt hơn là cân nhắc điều kiện NULL.

while(something != null && !"constString".equals(something)){ 
    //todo... 
} 
Các vấn đề liên quan