如果str
中包含“•
”等字符,则运行:
str.toLowerCase(Locale.English);
抛出空指针异常。这就是我所看到的行为。
那么这里的交易是什么?这是怎么回事?未指定toLowerCase抛出空指针异常。
有一种简单的方法来解决这个问题吗?我需要将str作为小写,以便能够使用不区分大小写包含对另一个字符串的检查,但我需要字符串来包含这些字符才能正确显示。
如果没有“简单方法”,你会说最有效的解决方案是什么?
答案 0 :(得分:3)
我建议您尝试使用String
object's equalsIgnoreCase()
method。
尽管正如评论所说,除非参数为null,否则toLowerCase()
函数没有理由抛出空指针异常。我要么使用调试器检查str
的状态,要么在toLowerCase()
语句中包含if
函数调用,如果str
为null,则执行某些操作(如抛出异常,打印语句,记录消息)而不执行函数调用。
答案 1 :(得分:2)
String upper = new String("asdCSD4rSDFSDFS•••••••••XCj");
String lower = upper.toLowerCase(Locale.ENGLISH);
System.out.println("Lower " + lower);
Lower asdcsd4rsdfsdfs•••••••••xcj