添加“&&”时 if 语句出现无效类型错误
Void type error on if statement when I add "&&"
我这样写:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Float result = 100f;
if (jCheckBox1.isSelected() == true) {
Float one = Float.valueOf(jTextField1.getText());
result = result / one;
} else {}
而且效果很好。
但是当我在 if
语句中添加“&& jTextField1.setDragEnabled(true)
”时,出现“void
”类型错误。
这是为什么?我能做什么?谢谢
任何 set
方法都不会 returns 布尔结果。理想情况下,每个 setter
方法 returns void,不允许在 java.
中输入 if 条件
我假设您的代码看起来像这样,添加了检查:
if (jCheckBox1.isSelected() == true && jTextField1.setDragEnabled(true) == true) {
Float one = Float.valueOf(jTextField1.getText());
result = result / one;
} else {}
问题是,setDragEnabled() 方法可能不是 return 布尔类型的对象,因此第二次检查对编译器没有意义。
因此,可能的解决方案可能是
- 调整支票(根据您的情况需要任何逻辑)。
- 调整 setDragEnabled() 方法,使其 return 成为布尔值(即 true。在
情况下,当文本字段可以成功设置为可拖动时,否则为 false)
我这样写:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Float result = 100f;
if (jCheckBox1.isSelected() == true) {
Float one = Float.valueOf(jTextField1.getText());
result = result / one;
} else {}
而且效果很好。
但是当我在 if
语句中添加“&& jTextField1.setDragEnabled(true)
”时,出现“void
”类型错误。
这是为什么?我能做什么?谢谢
任何 set
方法都不会 returns 布尔结果。理想情况下,每个 setter
方法 returns void,不允许在 java.
我假设您的代码看起来像这样,添加了检查:
if (jCheckBox1.isSelected() == true && jTextField1.setDragEnabled(true) == true) {
Float one = Float.valueOf(jTextField1.getText());
result = result / one;
} else {}
问题是,setDragEnabled() 方法可能不是 return 布尔类型的对象,因此第二次检查对编译器没有意义。
因此,可能的解决方案可能是
- 调整支票(根据您的情况需要任何逻辑)。
- 调整 setDragEnabled() 方法,使其 return 成为布尔值(即 true。在 情况下,当文本字段可以成功设置为可拖动时,否则为 false)