Java 为了可读性而初始化

Java 为了可读性而初始化,java,oop,Java,Oop,我有一个方法可以返回布尔值列表, 此列表恰好表示作为参数发送到IP的成功ping: List<Boolean> testPing (List<String> ips) { method logic.... loop on all ips (if ips.get(i) pings successfully then resultList.add(true) else add false..) } 列表测试ping(列表IP){ 方法逻辑。

我有一个方法可以返回布尔值列表, 此列表恰好表示作为参数发送到IP的成功ping:

List<Boolean> testPing (List<String> ips) {
  method logic....
  loop on all ips      
  (if ips.get(i) pings successfully then resultList.add(true) 
    else add false..)
}
列表测试ping(列表IP){
方法逻辑。。。。
在所有IP上循环
(如果ips.get(i)ping成功,则resultList.add(true)
否则,添加false…)
}
我的问题是,我稍后将在两种方法中使用此返回列表 当你读这个方法的时候,这不是很清楚,布尔值列表是什么 所以问题是,为了可读性,将它封装在一个类似-PingResults的类中是否正确?
但是,这个类除了一个列表属性和get/set之外没有任何其他属性。我将创建一个包含目标ip、结果和可能的时间戳的PingResult类。我将创建一个包含目标ip、结果和可能的时间戳的PingResult类。我将返回一个结果映射。差不多

Map<String, PingResult> testPing (List<String> ips) {
    return ips.stream().collect(Collectors.toMap(ip -> ip, PingResult::new));
}
映射测试ping(列出IP){
返回ips.stream().collect(Collectors.toMap(ip->ip,PingResult::new));
}

通过使用自定义的
PingResult
类,您可以添加诸如计时(ping需要多长时间)之类的信息。

我将返回结果图。差不多

Map<String, PingResult> testPing (List<String> ips) {
    return ips.stream().collect(Collectors.toMap(ip -> ip, PingResult::new));
}
映射测试ping(列出IP){
返回ips.stream().collect(Collectors.toMap(ip->ip,PingResult::new));
}

通过使用自定义的
PingResult
类,您可以添加诸如计时(ping需要多长时间)之类的信息。

一种方法是创建一个类,但您也可以返回
Map
,它将字符串ip映射到布尔结果,这样就不需要类,并且仍然可读性很好

一种方法是创建一个类,但您也可以返回
Map
,它将字符串ip映射到布尔结果,这样类就不需要了,而且仍然可读性很好

testPing()
当前在哪个类中?如果您计划以更通用的方式使用它,那么您可以创建一个helper类,并可能将其转换为一个
静态
helper方法。您不能将列表变量命名为
pingResultsList
?@BadCash我可以,但它不会解决代码不可读的问题,例如-我有一个类似,现在还不太清楚这个布尔列表的目的是什么,它将返回哪个类是
testPing()
当前所在的?如果您计划以更通用的方式使用它,那么您可以创建一个helper类,并可能将其转换为一个
静态
helper方法。您不能将列表变量命名为
pingResultsList
?@BadCash我可以,但它不会解决代码不可读的问题,例如-我有一个类似,您甚至可以定义一个IP类,而不是使用IPS字符串。您可能想要修复您的第一句话“我将生成结果映射”。您甚至可以定义一个IP类,而不是使用IPS字符串。您可能想要修复您的第一句话“我会得到一张结果图”。