gpt4 book ai didi

java - ArrayList 并返回 null

转载 作者:行者123 更新时间:2023-12-02 08:57:36 24 4
gpt4 key购买 nike

我正在尝试完成我的方法“优先级”,该方法应返回任务优先级。如果指定的名称不存在(如 main 所示),则使其返回 null 。我尝试过遍历 ArrayList,但我不认为这是这样做的方法。有谁可以帮帮我吗?

class Task
{
public static final ArrayList<Task> ALL_TASKS = new ArrayList<>();

private String name;
private Integer priority;

public Task(String name, Integer priority)
{
this.name = name;
this.priority = priority;
ALL_TASKS.add(this);
}

@Override public String toString()
{
return "name: " + this.name + "\tpriority: " + this.priority;
}
}

class Main
{
public static void main(String[] arguments)
{
new Task("Clean", 5);
new Task("Dishwash", 4);
new Task("Study", 1);
System.out.println(Task.priority("Dishwash"));
System.out.println(Task.priority("Vacuumclean"));
}
}

最佳答案

试试这个:

public static Integer priority(String name) {
for(Task task : ALL_TASKS) {
if(task.name.equals(name)) {
return task.priority;
}
}
return null;
}

或者使用 Stream-API:

public static Integer priority(String name) {
return ALL_TASKS.stream()
.filter(task -> task.name.equals(name))
.map(task -> task.priority)
.findFirst()
.orElse(null);
}

关于java - ArrayList 并返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60399111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com