我对Java类中的方法有一个类似的逻辑(不是真正的代码,这是为了示例目的而简化)。
private Boolean method(Boolean booleanValue, SomeObject object) {
return booleanValue ? Arrays.asList(object.getStringsArray()).contains("string") : false;
}
指派自己检查PR的合作者给出了以下评论:
效率低下。它正在创建一个新的数据结构,只是迭代它并检查是否有某个字符串。
getStringsArray()
方法会返回String[]
,因此使用for循环会优于Arrays.asList()
吗?
实现这一目标哪种方式更有效?
答案 0 :(得分:5)
当他们断言您的方法正在创建新的数据结构时,您的同事是不正确的。
如果您查看Arrays.asList()
的API,就会说它
返回由指定数组支持的固定大小列表。
没有理由编写自己的代码来迭代数组,只需在其周围包裹List
并使用其内置方法。