2012-12-04 87 views
3

我想寫一些代碼,告訴我如果一個字符串的第一個字母等於另一個字符串的第一個字母。我無法弄清楚如何將字符串與charAt()的返回值進行比較。幫幫我?charAt()返回不是一個字符串?

public class CharAtTest 
    { 
     public static void main(String [] args) 
     { 
      String name = "joe"; 
      String initial = "j"; 
      if(initial.equals(name.charAt(0))) 
      { 
       System.out.println("Sucess"); 
      }else{ 
       System.out.println("Fail"); 
      } 

     } 
    } 

回答

9

你可以使用:

if (initial.charAt(0) == name.charAt(0)) 

或更好

if (name.startsWith(initial)) { 
+0

+1。只是一個額外的評論,如果字符串將是動態的,在使用'charAt()'測試相等性之前測試'string!= null'和'string.length()> 0'可能是一個好主意' – wattostudios

+0

'String.isEmpty()'會比'String.length()> 0'更好 –

1

的charAt(),好像是這個名字所暗示的,返回一個字符,而不是字符串。所以請將initial改爲char。

1

只需做:

String name = "joe"; 
char initial = 'j'; 

if (name.charAt(0) == initial) { 
    // ... 
} 
0

另一種方式是:

將String.valueOf(name.charAt(0));

或者:

Character.toString(name.charAt(0));

但含蓄的方式(見伊萬諾維奇的答案)的作品,以及

name.charAt(0)+ 「」

相關問題