[英]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.