我有一个对象数组(customer(,它包含以下组件:first_Name&last_Name。我正在尝试将每个客户的名字和姓氏都转换为标题案例。我尝试了几种不同的方法来将字符串转换为标题大小写,但都失败了。这是我尝试过的最后一件事,我不明白为什么它不大写名字的第一个字母和姓氏的第一个字符。
for (Customer c : customers){
c.setFirst_name(c.getFirst_name().charAt(0).toUpperCase());
}
我已经检查过,名字和姓氏确实包含一个唯一的字母字符串,每个字符串的第一个字母都是小写字母。intellisense给我的错误是"不能取消引用字符">
此方法将字符串的第一个字符大写,其余字符小写:
public static String toTitle(String s) {
return (s.length() > 0) ? s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() : "";
}
所以使用它:
for (Customer c : customers){
c.setFirst_name(toTitle(c.getFirst_name()));
c.setLast_name(toTitle(c.getLast_name()));
}
String.charAt((返回一个char,这是一个基元类型,因此没有方法。因此,在那里不允许调用toUpperCase((。
您可能想要的是在那里创建一个Character对象,也许是一个String。我们不知道,因为您从未显示过setFirst_name((签名。