2013-02-07 85 views
6

我在Java製作節目和所有的都很順利,直到我想做一個while循環是這樣的:怎麼辦=字符串

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

我知道有沒有這樣的不平等,但是有類似的東西?

回答

18

使用!句法。例如

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

使用.equals結合的不!操作。從JLS §15.15.6

類型一元!操作者的操作數的表達式必須是 booleanBoolean,或編譯時會出現誤差。

一元邏輯補碼錶達式的類型是boolean

在運行時,如果需要 ,則操作數會經歷拆箱轉換(§5.1.8)。如果(可能轉換的)操作數值是false,並且false(如果 (可能轉換的)操作數值是true),則一元邏輯補碼錶達式的值是 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

有沒有這樣的東西叫做notEquals所以如果你想否定使用!

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

如果你想區分大小寫的比較使用equals(),否則,你可以使用equalsIgnoreCase()

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

s1.equals(s2); // false 

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

s1.equalsIgnoreCase(s2); // true 

字符串比較的另一種方式,是爲某些情況下有用的(例如排序)是使用compareTo返回0如果字符串相等,> 0如果S1> S2和< 0否則

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

} 

也有compareToIgnoreCase

0

如果你已經改變了你的循環中的字符串,最好考慮NULL條件。

while(something != null && !"constString".equals(something)){ 
    //todo... 
}