String的第一个字母为Char

Sve*_*art 1 java string

我所拥有的是一名有名字和简历的学生

所以我有一个班级学生喜欢:

private String name = "Unknown";

private char nameLetter = "u"; 

public void identify()
{
    System.out.println("Student first letter : " + nameLetter);
    System.out.println("Student name : " + name);

}

public void setName(String newName)
{
    name = newName;
    nameLetter = newName.substring(0);
}
Run Code Online (Sandbox Code Playgroud)

但我得到的错误不能从字符串转换为字符.

我知道我可以创建一个String nameLetter而不是char,但我想用char尝试它.

das*_*ght 7

你需要这个:

nameLetter = newName.charAt(0);
Run Code Online (Sandbox Code Playgroud)

当然你必须检查它newName的长度是否至少为1,否则会有例外:

public void setName(String newName) {
    name = newName;
    if (newName != null && newName.length() > 0) {
        nameLetter = newName.substring(0);
    } else {
        nameLetter = '-'; // Use some default.
    }
}
Run Code Online (Sandbox Code Playgroud)