运算符'*'不能应用于'int','java.lang.String'

时间:2017-12-28 05:00:51

标签: java android android-studio

如何解决此问题错误:二元运算符'*'的错误操作数类型?

这是我的代码:

  int minimal = (Integer.parseInt(TextUtils.isEmpty(listData.get(position).getMinimal()) ? "0" : listData.get(position).getMinimal()))
            *(TextUtils.isEmpty(listData.get(position).getQuantity()) ? "0" : listData.get(position).getQuantity());

这是错误: 错误:(80,17)错误:二元运算符'*'

的错误操作数类型

首先输入:int

第二种类型:字符串

有人能帮助我吗? 我是android studio的新手,这是我第一次使用它。 在此先感谢您的时间。 :)

1 个答案:

答案 0 :(得分:1)

你的第二个操作数仍然是String。这样做。

 int minimal = Integer.parseInt(TextUtils.isEmpty(listData.get(position).getMinimal()) ? "0" : listData.get(position).getMinimal())
            *Integer.parseInt(TextUtils.isEmpty(listData.get(position).getQuantity()) ? "0" : listData.get(position).getQuantity());

它复杂,所以你可以简单地使用原始变量,可以轻松阅读。

int opA=Integer.parseInt(TextUtils.isEmpty(listData.get(position).getMinimal()) ? "0" : listData.get(position).getMinimal());
    int opB=Integer.parseInt(TextUtils.isEmpty(listData.get(position).getQuantity()) ? "0" : listData.get(position).getQuantity());
    int minimal=opA*opB;