簡體   English   中英

我如何比較 Java 中的字符串和字符數組?

[英]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”這一行看得太直白了。 Stringequals方法指出

將此字符串與指定對象進行比較。 當且僅當參數不為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM