我正在尝试制作计算器应用程序,但我遇到了问题:
(null)
用橙色着色,它说:.equals(null)可能不是我想要的。我该怎么办?
case R.id.equal: if(!optr.equals(null)){
if(op2 != 0){
if(optr.equals("+")){
disp.setText(""); /*op1 = op1 + op2;*/
disp.setText("Result : " + Integer.toString(op1));
答案 0 :(得分:2)
这就是你如何做到的。 Null不是一个对象 - 所以没有等于:
case R.id.equal: if(optr!=null){
if(op2 != 0){
if(optr.equals("+")){
disp.setText(""); /*op1 = op1 + op2;*/
disp.setText("Result : " + Integer.toString(op1));
答案 1 :(得分:2)
我假设您要检查optr
是null
还是空字符串。在这种情况下,请使用TextUtils.isEmpty()
:
case R.id.equal: if(!TextUtils.isEmpty(optr)){
if(op2 != 0){
if(optr.equals("+")){
disp.setText(""); /*op1 = op1 + op2;*/
disp.setText("Result : " + Integer.toString(op1));