2014-11-02 1 views
1

계산기 응용 프로그램을 만들려고하는데 문제가 있습니다. (null)은 주황색으로 표시되어 있습니다. .equals (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

시도'.equals ("") ' –

+1

방법 https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache에 대해 :이 경우, TextUtils.isEmpty() 사용 /commons/lang/StringUtils.html#isBlank%28java.lang.String%29 – Ambrish

+0

'optr'을 정확히 확인 하시겠습니까? 'null', 빈 문자열 (""), 빈 문자열 등? – cygery

답변

2

이렇게하는 방법입니다. 널은 객체가 아닌 - 그래서 등호가 없습니다 :

case R.id.equal: if(optr!=null){ 
        if(op2 != 0){ 
         if(optr.equals("+")){ 
          disp.setText(""); /*op1 = op1 + op2;*/ 
         disp.setText("Result : " + Integer.toString(op1)); 
+0

내가 뭘 찾고 있었는지, 고마워! – Alec

2

난 당신이 optr 중 하나 null 또는 빈 문자열인지 확인하려는 가정합니다.

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));