gpt4 book ai didi

java - 为什么不能在 if 中初始化变量

转载 作者:行者123 更新时间:2023-11-29 08:20:30 24 4
gpt4 key购买 nike

editRecord 行的变量 stock 显示该变量可能未初始化

        if(selection.equalsIgnoreCase("Flower"))
{

String filepath = "Stock.txt";
String name = "Flower";
String stock;
if(add.isSelected())
{
stock = String.valueOf(id.getStock(0) + Integer.parseInt(jTextField1.getText()));
}
if(minus.isSelected())
{
stock = String.valueOf(id.getStock(0) - Integer.parseInt(jTextField1.getText()));
}
String price = "12.90";
String amountSold = String.valueOf(id.getItemSold(0));

editRecord(filepath,name,stock,price,amountSold);

}

最佳答案

并不是说它不能在 if block 中初始化,而是编译器对代码的静态分析表明它有可能到达 editRecord(.. ., stock, ...) 未经初始化的方法调用。

例如:如果 add.isSelected()minus.isSelected() 都不为真,则可以在不分配给它的情况下引用它,这很糟糕。

您可以通过将其初始化为 null 来解决该问题,而不仅仅是声明它。

关于java - 为什么不能在 if 中初始化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59278760/

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