2016-11-15 27 views
0

由於某種原因,我的字符串是都柏林,將不匹配我從我的資產文件夾中的文本文件獲得的字符串。 這裏就是我得到的線從輸入流創建的字符串不匹配在if語句

InputStream is; 
     String text = ""; 
     try { 
      is = getAssets().open("loc.txt"); 
      int size = is.available(); 
      byte[] buffer = new byte[size]; 
      is.read(buffer); 
      is.close(); 
      text = new String(buffer); 


     } 
     catch (IOException ex){ 
      ex.printStackTrace(); 
     } 
     this.city = text; 

代碼這裏是我比較字符串

Toast.makeText(this, city+" this is name stored as city in onMapReady in map activity",Toast.LENGTH_LONG).show(); 
    double lat, lon; 
    city.trim(); 
    if (city.trim().equalsIgnoreCase("Dublin")) 
    { 
     Toast.makeText(this, city+" getting into dublin in map activity",Toast.LENGTH_LONG).show(); 

     lat = 53.343908; 
     lon = -6.267554; 
    } 

它打印都柏林if語句之前,但從未達到內部。 謝謝

+1

你說「它打印都柏林」,但你的意思是說「它打印都柏林?」 'd'是大寫還是小寫? –

+0

對不起,我的意思是它打印都柏林,現在會改變 –

+1

你有沒有嘗試equalsIgnoreCase和修剪字符串? –

回答

0

我解決了這個問題。通過檢查字符串的長度,它說長度是7,當它應該是6.我有我的文本文件保存爲UTF-8而不是ANSI。當我改變它的長度是6和程序工作正常。