我所拥有的是一名有姓名和简历的学生
所以我有一个班级学生:
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);
}
但我得到的错误不能从字符串转换为字符。
我知道我可以创建一个String nameLetter而不是char,但我想用char来尝试它。
答案 0 :(得分:7)
你需要这个:
nameLetter = newName.charAt(0);
当然你必须检查newName
的长度是否至少为1,否则会有例外:
public void setName(String newName) {
name = newName;
if (newName != null && newName.length() > 0) {
nameLetter = newName.substring(0);
} else {
nameLetter = '-'; // Use some default.
}
}
答案 1 :(得分:4)
"u"
是字符串文字,'u'
是字符。
具体而言,您需要将nameLetter = newName.substring(0);
替换为nameLetter = newName.charAt(0);
,因为前者返回string
,后者返回char
。
答案 2 :(得分:1)
使用'
代替"
private char nameLetter = 'u';
使用charAt
代替substring
从Strings
nameLetter = newName.charAt(0);
阅读:Characters
答案 3 :(得分:1)
nameLetter = newName.toCharArray[0];
或者你可以尝试
nameLetter = newName.charAt[0];
要了解这两种方法之间的区别,您可以看到此question
的答案答案 4 :(得分:0)
试
nameLetter = newName.charAt(0);
答案 5 :(得分:0)
您可能需要查看String#charAt(int)
功能。