Java&&错误"操作员&&未定义参数类型java.lang.String,java.lang.String"

时间:2014-07-02 10:50:39

标签: java

 if(pro_name.getText() && pro_price.getText() && pro_count.getText())
 {
 }

我在eclipse java中遇到错误

运营商&&未定义参数类型java.lang.String,java.lang.String

4 个答案:

答案 0 :(得分:2)

&安培;&安培; operator对于检查布尔值

是有效的
if(pro_name.getText()=="abc" && pro_price.getText().isEmpty() && pro_count.getText().equals("mango")){   }

以上是样本一......这不会产生编译错误。

isEmpty()equals()equalsIgnoreCase()contains() ==>这些是字符串上允许的操作,每个操作都返回布尔值(truefalse

==这会检查是否相等,因此返回布尔值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() ...) {