[英]How can I compare a string and a char array in Java?
在我的程序中,我試圖在 if 條件下將我的 char 數組asterixA[]
與字符串word
進行比較,例如:
if (word.equals(asterixA))
但它給了我一個錯誤。 還有其他方法可以比較它們嗎?
您必須將字符數組轉換為字符串或將字符串轉換為字符數組,然后進行比較。
if (word.equals(new String(asterixA)))
要么
if(Arrays.equals(word.toCharArray(), asterixA))
順便提一句。 if 是條件語句不是循環
您似乎把“A String is an array of chars”這一行看得太直白了。 String
的equals
方法指出
將此字符串與指定對象進行比較。 當且僅當參數不為 null 並且是表示與此對象相同的字符序列的 String 對象時,結果才為真。
這完全取決於具體情況,但通常您比較兩個相同類型的對象或屬於同一層次結構(共享一個公共超類)的兩個對象。
在這種情況下, String
不是char[]
,但 Java 提供了從一個到另一個的機制,通過使用String#toCharArray()
進行String -> char[]
轉換或char[] -> String
轉換通過將char[]
作為參數傳遞給String
的構造函數。
通過這種方式,您可以在將String
轉換為char[]
后比較兩個對象,反之亦然。
做如下: if (word.equals(new String(asterixA))) {... }
您可以比較數組:
if (Arrays.equals(asterixA, word.toCharArray()) {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.