2015-08-15 212 views
0

我有字符串来比较,但我不能让它工作,即使我搜索谷歌和stackoverflow。Android Studio Java String比较

因此,这里是我的代码:

@Override 
     protected void onPostExecute(String s) { 
      super.onPostExecute(s); 
      loading.dismiss(); 
      if(s.equalsIgnoreCase("success")){ 
       Intent intent = new Intent(Najava.this,UserProfile.class); 
       intent.putExtra(USER_NAME,username); 
       startActivity(intent); 
      }else{ 
       Toast.makeText(Najava.this,s,Toast.LENGTH_LONG).show(); 
      } 
     } 

但活动不会改变和烤面包的消息显示了相同的字符串: http://i.stack.imgur.com/ApJLp.png

+0

我会比较静态字符串与您的变量将不会中断空值的情况下。但是这不能解决你的问题。 – rekire

回答

2

看来,字符串s存在不必要的字符。下面 尝试:

if(s.contains("success"){} 

注:对于字符串比较,它总是好的做法比较与其他字符串常量的值。这将从空指针保存代码。

if("success".equalsIgnoreCase(s)){} 
+0

这实际上工作:)谢谢! –

+0

Gr8。如果您对答案满意,请注意/接受:) –

0

之前将这个线你是否:

s = s.toLowerCase().trim(); 

或从super.onPostExecute();删除s

+0

没有帮助。 :( –