charAt()返回值不是字符串?

3

我想写一些代码来判断一个字符串的第一个字母是否与另一个字符串的第一个字母相等。我不知道如何将一个字符串与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");
            }

        }
    }
4个回答

9

您可以使用以下方法:

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

更好的。
if (name.startsWith(initial)) {

+1. 只是额外的注释,如果字符串将是动态的,那么在使用charAt()进行相等性测试之前,测试string != nullstring.length() > 0可能是一个好主意。 - wattostudios
String.isEmpty()String.length()>0 更好。 - Steve Kuo

1

只需这样做:

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

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

1

charAt(),顾名思义,返回的是一个字符而不是字符串。因此,请将initial设置为字符。


1

另一种方法是:

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

或者:

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

但是隐式方式(参见ivanovic的答案)同样有效

name.charAt(0) + ""


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接