2014-05-06 7 views
5

मैं यह जांचने की कोशिश कर रहा हूं कि कोई स्ट्रिंग उद्धरण चिह्नों के बराबर है (")। हालांकि, string.equals(""") काम नहीं करता है क्योंकि ऐसा लगता है कि मेरे पास अतिरिक्त उद्धरण चिह्न है। मैं जांच कैसे कर सकता हूं कि स्ट्रिंग उद्धरण चिह्नों के बराबर है या नहीं?जांचें कि क्या स्ट्रिंग उद्धरण चिह्नों के बराबर है

उत्तर

10
str.equals("\""); 

\ संकलक है कि अगले चरित्र सचमुच में व्याख्या की जा करने के लिए है बताने के लिए एक भागने चरित्र के रूप में प्रयोग किया जाता है। इस मामले में, यह " का कारण स्ट्रिंग में एक वर्ण के रूप में व्याख्या करने के बजाय एक अंतिम उद्धरण चिह्न के रूप में व्याख्या करता है। \" का उपयोग " का प्रतिनिधित्व करने के लिए किया जाता है।

अशक्त तार के साथ सुरक्षित होने के लिए, आप भी कर सकते हैं:

"\"".equals(str); 

यह अवास्तविक लौटाते हैं, तो str बजाय एक NullPointerException फेंकने की रिक्त है।

1

बचने वाले वर्ण \ का उपयोग करें। इससे यह पता चलता है कि अगला चरित्र पाठ के रूप में पढ़ा जाना चाहिए और संकलक द्वारा व्याख्या नहीं किया जाना चाहिए। string.equals("\"") काम करेगा।

-1

कृपया "अनुक्रम अनुक्रम" पर निम्नलिखित आलेख पढ़ें।

http://en.wikipedia.org/wiki/Escape_sequences_in_C

यहाँ जावा में एक छोटी सी विधि है:

private boolean equalsDoubleQuote(String string)  
{ 
    /* 
    * The compiler will not be able to read three double-quote characters in 
    * align. 
    * In this case, you use a the back-slash character. 
    * It will 'escape' the character after it, allowing the compiler to 
    * read it properly 
    */ 
    return string.equals("\""); 
} 

मुझे यकीन है कि मैं क्यों मतदान किया गया था नहीं कर रहा हूँ, लेकिन यहाँ एक गरीब तुलना, मेरे साथ नंगे है। निम्नलिखित encapsulation काम नहीं करेगा क्योंकि संकलक पहले */ मिलेगा और पाठ को कोड होने के बाद, ब्लॉक टिप्पणी को रोक देगा।

यह स्पष्ट रूप से सबसे अच्छी तुलना नहीं है (क्योंकि आप स्ट्रिंग से बच नहीं सकते हैं, */)। हालांकि अवधारणा स्पष्ट होनी चाहिए।

void example() 
{ 
    /* 
    * 
    * What does the compiler do when I place 
    * 
    *   a */ right here 
    * 
    */ 
} 
2

string.equals("\"") काम करेगा। यह "\" बचने वाले चरित्र के रूप में कार्य करता है।

संबंधित मुद्दे