कोड आप की जरूरत है आप "एक खाली जगह" से क्या मतलब है पर निर्भर करता है से परिचित नहीं हूँ।
आप ASCII/लैटिन -1/यूनिकोड अंतरिक्ष चरित्र (0x20) उर्फ सपा, तो इसका मतलब यह है:
if (ch == ' ') {
// ...
}
आप पारंपरिक ASCII खाली स्थान के वर्णों के किसी भी मतलब है (सपा, हिंदुस्तान टाइम्स , वीटी, सीआर, NL), तो:
: if (ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n' || ch == '\x0b') {
// ...
}
आप किसी भी यूनिकोड खाली स्थान के चरित्र है, तो इसका मतलब यह तो
यूनिकोड खाली स्थान के अतिरिक्त ASCII नियंत्रण कोड, और उच्च कोड विमानों में कुछ अन्य यूनिकोड वर्ण शामिल हैं देखते हैं कि नोट; Character.isWhitespace(char)
के लिए javadoc देखें।
आप क्या लिखा था इस:
if (Equals(ch, " ")) {
// ...
}
यह कई स्तरों पर गलत है। सबसे पहले, जिस तरह से जावा कंपाइलर व्याख्या करने की कोशिश करता है वह boolean Equals(char, String)
के हस्ताक्षर वाले विधि के लिए कॉल के रूप में है।
- क्योंकि कोई विधि, मौजूद है के रूप में संकलक त्रुटि संदेश में सूचना दी यह गलत है।
Equals
आमतौर पर किसी विधि का नाम नहीं होगा। जावा सम्मेलन यह है कि विधि नाम कम केस अक्षर से शुरू होते हैं।
- आपका कोड (जैसा लिखा है) एक चरित्र और स्ट्रिंग की तुलना करने की कोशिश कर रहा था, लेकिन
char
और String
तुलनीय नहीं हैं और उन्हें सामान्य आधार प्रकार पर नहीं डाला जा सकता है।
जावा में एक तुलनाकारी के रूप में ऐसी कोई बात नहीं है, लेकिन यह एक अंतरफलक नहीं एक तरीका है, और यह इस तरह घोषित किया जाता है:
public interface Comparator<T> {
public int compare(T v1, T v2);
}
दूसरे शब्दों में, विधि नाम compare
है (Equals
नहीं), यह एक पूर्णांक (एक बुलियन नहीं) देता है, और यह दो मानों की तुलना करता है जिन्हें प्रकार पैरामीटर द्वारा दिए गए प्रकार में प्रचारित किया जा सकता है।
कोई (! एक नष्ट कर दिया जवाब में) ने कहा कि वे इस कोशिश की:
if (c == " ")
कि दो कारणों के लिए विफल रहता है:
" "
एक स्ट्रिंग शाब्दिक और एक चरित्र शाब्दिक नहीं है , और जावा String
और char
मानों की प्रत्यक्ष तुलना की अनुमति नहीं देता है।
आपको ==
का उपयोग करके स्ट्रिंग या स्ट्रिंग अक्षर की तुलना कभी नहीं करना चाहिए। ==
ऑपरेटर किसी संदर्भ प्रकार पर ऑब्जेक्ट पहचान की तुलना करता है, ऑब्जेक्ट वैल्यू नहीं।String
के मामले में अलग-अलग पहचान और समान मूल्य के साथ अलग-अलग वस्तुएं होती हैं। एक ==
परीक्षण अक्सर गलत उत्तर ... जो आप यहां करने का प्रयास कर रहे हैं उसके परिप्रेक्ष्य से।
स्रोत
2010-12-22 14:46:08
* रिक्त स्थान * - कोई सामग्री नहीं है? –