gpt4 book ai didi

java - 可选的 不能转换为 Int(用于 GUI 进度条)

转载 作者:行者123 更新时间:2023-11-29 07:25:43 25 4
gpt4 key购买 nike

当我尝试在 JProgressBar 上设置值时,我收到以下错误。

"Optional cannot be converted to Int"

有人可以建议任何解决方法/解决方案吗?

public GUI(){
initComponents();
tL = new TasksToDo();
jProgressBar1.setValue(tL.retrieveTotalHours());// [Where my error occurs]}
}

从 TaskToDo 类开始,我最初将其设置为 ArrayList,但警告说需要切换到 Optional:

  public class TasksToDo {

public static ArrayList<Task> taskList;

public TasksToDo(){
taskList = new ArrayList<Task>();
taskList.add(new Task(0,"Whitepaper", "Write first draft of Whitepaper", 7));
taskList.add(new Task(1,"Create Database Structure", "Plan required fields and tables", 1));
taskList.add(new Task(2,"Setup ODBC Connections", "Create the ODBC Connections between SVR1 to DEV-SVR", 2));

}

public void addTask (int taskId, String taskTitle, String taskDescription, int taskHours){}

public ArrayList<Task> retrieveTask(){
return taskList;
}

public Optional<Integer> retrieveTotalHours(){
return taskList.stream().map(e -> e.getTaskHours()).reduce(Integer::sum);
}
}

最佳答案

你必须像这样打开可选的并获取其中的值。否则,您无法在需要 int 的地方分配 Optional

tL.retrieveTotalHours().orElse(0);

关于java - 可选的 <Integer> 不能转换为 Int(用于 GUI 进度条),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408681/

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