if(pro_name.getText() && pro_price.getText() && pro_count.getText())
{
}
我在eclipse java中遇到错误
运营商&&未定义参数类型java.lang.String,java.lang.String
答案 0 :(得分:2)
&安培;&安培; operator对于检查布尔值
是有效的if(pro_name.getText()=="abc" && pro_price.getText().isEmpty() && pro_count.getText().equals("mango")){ }
以上是样本一......这不会产生编译错误。
isEmpty()
,equals()
,equalsIgnoreCase()
,contains()
==>这些是字符串上允许的操作,每个操作都返回布尔值(true
或false
)
==
这会检查是否相等,因此返回布尔值true或false值
答案 1 :(得分:1)
if (!pro_name.getText().isEmpty()
&& !pro_price.getText().isEmpty()
&& !pro_count.getText().isEmpty())
条件严格要求在java中使用布尔表达式。
答案 2 :(得分:1)
此处getText()
返回String
,而在&&
中,运算符仅定义为boolean
而不是String
。
这就是eclipse显示此错误的原因。
答案 3 :(得分:1)
你只能使用&& (AND)布尔运算符。 .getText()返回一个字符串,它不是布尔值。您需要做一个返回布尔值的检查来执行此操作,例如:
if(!pro_name.getText().isEmpty() ...)
即,如果getText()的答案不为null,则将其转换为true。和tjhe&&比较会起作用。
一个提示是将变量设置为来自getText()的答案,以便您可以重复使用它,而不是稍后(我正在假设)您再次获得文本。即:
var pro_name_result = pro_name.getText();
if(!pro_name_result.isEmpty() ...) {