2013-01-10 15 views
7

मेरे कार्यक्रम में मैं एक में स्ट्रिंग (शब्द) करने के लिए अपने चार सरणी asterixA[] तुलना करने के लिए कोशिश कर रहा हूँ, तो पाश की तरह:मैं जावा में स्ट्रिंग और चार सरणी की तुलना कैसे कर सकता हूं?

if (word.equals(asterixA)) 

लेकिन इसकी मुझे एक त्रुटि दे रही है। क्या कोई और तरीका है जिससे मैं उनकी तुलना कर सकता हूं?

+5

कन्वर्ट 'चार []' एक 'स्ट्रिंग' में, और उसके बाद का उपयोग' equals'। –

+1

इसे जावाडॉक्स के माध्यम से जाने की आदत बनाएं। यह आपको ऐसी चीजों से निपटने में मदद करेगा। – Swapnil

उत्तर

12

आप स्ट्रिंग या स्ट्रिंग में चरित्र सरणी परिवर्तित करने के लिए सरणी चार के लिए और फिर तुलना करते हैं।

if (word.equals(new String(asterixA))) 

या

if(Arrays.equals(word.toCharArray(), asterixA)) 

Btw। यदि एक सशर्त बयान एक पाश

+0

दूसरा संस्करण काम नहीं करेगा। –

+0

धन्यवाद, अभी भी बहुत इस –

+0

@LouisWasserman सच करने के लिए नए .. ओर इशारा करते हुए के लिए धन्यवाद :) – PermGenError

0

के रूप में क्या नहीं है इस प्रकार है: if(word.equals(new String((asterixA))

0

आप सरणियों तुलना कर सकते हैं:

if (Arrays.equals(asterixA, word.toCharArray()) {} 
1

आप लेने लगते हैं "एक स्ट्रिंग वर्ण की एक सरणी है" रेखा बहुत शाब्दिक String की equals विधि बताती है कि

इस स्ट्रिंग को निर्दिष्ट ऑब्जेक्ट की तुलना करता है। यदि और केवल यदि तर्क रिक्त नहीं है और स्ट्रिंग ऑब्जेक्ट है कि इस वस्तु के रूप में पात्रों में से उसी क्रम का प्रतिनिधित्व करता है परिणाम सच है।

यह सब परिस्थितियों पर निर्भर करता है, लेकिन आम तौर पर आप एक ही प्रकार की दो वस्तुओं या समान पदानुक्रम से संबंधित दो वस्तुओं (एक सामान्य सुपरक्लास साझा करना) की तुलना करते हैं।

इस मामले एक String एक char[] नहीं है, लेकिन जावा, या तो String#toCharArray() के साथ एक String -> char[] परिवर्तन या String के निर्माता को पैरामीटर के रूप char[] पास करके एक char[] -> String परिवर्तन कार्य करके अन्य एक से जाने के लिए तंत्र प्रदान करता है ।

इस तरह आप String कोया इसके विपरीत में बदलने के बाद दोनों ऑब्जेक्ट्स की तुलना कर सकते हैं।

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