2013-02-07 39 views
6

के लिए मैं जावा में एक कार्यक्रम बना रही हूँ और अपने सभी महान जा रहा जब तक मैं थोड़ी देर के पाश है कि इस तरह है बनाना चाहते थे:कैसे करना है = तार

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

मैं जानता हूँ कि कोई ऐसे थिनों के रूप में नहीं, लेकिन क्या कुछ समान है?

उत्तर

18

का उपयोग करें! वाक्य - विन्यास। जैसे

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

संयोजन में उपयोग .equals नहीं ! ऑपरेटर के साथ। JLS §15.15.6 से,

एकल ! ऑपरेटर के संकार्य अभिव्यक्ति के प्रकार boolean या Boolean, या एक संकलन समय त्रुटि तब होती है होना चाहिए।

यूनरी लॉजिकल पूरक अभिव्यक्ति का प्रकार 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 अगर एस 1> s2 और < 0 अन्यथा

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

} 

उपयोग करने के लिए है compareToIgnoreCase

0

यदि आपने अपने लूप में स्ट्रिंग बदल दी है, तो यह अच्छी स्थिति को ध्यान में रखना बेहतर है।

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