坏坏的眼镜 · 【Unity】2D ...· 1 月前 · |
礼貌的领带 · CWE ID 918 - CSDN文库· 2 月前 · |
高兴的太阳 · python基础学习6【DatatimeIn ...· 1 年前 · |
精明的大海 · docker容器安装远程桌面-掘金· 1 年前 · |
豪情万千的骆驼 · chatgpt 作图 ...· 1 年前 · |
split
是否有可能返回空的
String[]
?我很好奇,因为我想在我的代码中尽量做到防御性,而不需要进行不必要的检查。代码如下:
String[] parts = myString.split("\\w");
在使用
parts
post拆分之前,是否需要执行null检查?
发布于 2011-08-02 01:31:29
它从不返回null。如果您不确定,应该始终检查该方法的javadoc。例如,
String#split(String)
说
此方法的工作方式类似于调用两个参数的
split
方法
...and
String#split(String,int)
说:
如果表达式与输入的任何部分都不匹配,则结果数组只有一个元素,即此字符串。
从Javadoc中,您还可以了解可能发生的异常类型,更重要的是,为什么会抛出这些异常。还有一件非常重要的事情需要检查,那就是类是否是线程安全的。
发布于 2011-08-02 01:44:05
我建议您在API不明确的时候下载Java源代码。这里的所有答案都只是告诉你答案,但你应该自己去看看。您可以从 here 下载Java源代码(查看页面底部附近)。
通过遵循源代码,您将最终获得
String[] Pattern.split(CharSequence input, int limit)
。返回值来自调用
toArray
的非空
ArrayList
。
toArray
不会返回null:如果列表为空,您将得到一个空数组。
所以最后,不,你不需要检查null。
发布于 2011-08-02 01:27:43
不,您不需要检查部件上是否为空。
https://stackoverflow.com/questions/6902078
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287