最近一个小bug的修改几乎让我怀疑String.split()是否有问题。
代码如下:
public static void main(String[] args) { String param="2022.9"; String retDate=""; String[] splitArr = param.split("."); retDate += splitArr[0] +"年"; if(9<Integer.parseInt(splitArr[1])){ retDate += splitArr[1] +"月"; }else { retDate += splitArr[1].substring(splitArr[1].length()-1) +"月"; } System.out.println(retDate); }
将指定格式的字符串改为指定格式日期是一种简单的小方法,执行后出现报错,其中 param.split(".方法完成断点后,发现没有按“”.“分割,我试着按“2”分割是正常的,开始怀疑Java是否有问题(现在想想我真傻),反应后想起来。 “.要转义,加上“\\”就好了。
String[] splitArr = param.split("\\.");
希望大家小心点。