gpt4 book ai didi

java - Java 中具有可能空值的 CharSequence 和 String 对象之间的相等性检查

转载 作者:行者123 更新时间:2023-11-29 07:27:43 26 4
gpt4 key购买 nike

我有一个 CharSequence 对象和一个 String 对象。我想将两者的相等性检查(不区分大小写)与可能的 null 值进行比较。我使用了嵌套的 if 语句,它不是那么干净和优化。问题是我无法在 null CharSequence 对象上调用 toString()。如何实现相等性检查?

最佳答案

据我了解你的问题是这样的:您有两个对象,您想要查看它们是否相等。

我们想要做的是使用 String.equalsIgnoreCase() .这正是您想要的。如果 CharSequence 对象不为空,这很容易,因为 CharSequence.toString()以完全相同的顺序返回具有完全相同字符的字符串。

charSequence.toString().equalsIgnoreCase(otherString);

不幸的是,这不起作用。如果字符序列为空,则抛出 NullPointerException。所以我们需要查看字符序列是否为空,然后从那里继续。

public boolean compareCSAndString(CharSequence cs, String string) {
if(cs == null) {
// If both are null, then they're equal
return string == null;
}
else {
return cs.toString().equalsIgnoreCase(string);
}
}

这符合所有方框:

  • 不区分大小写
  • 它处理空值
  • 简洁易读(无嵌套 ifs)

关于java - Java 中具有可能空值的 CharSequence 和 String 对象之间的相等性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com