我怎样才能使用accessor方法将名称的第一个字母返回大写,其余的以小写形式返回,无论输入什么?
public class Name
{
private String first;
private String last;
/**
* Constructor for objects of class Name
*/
public Name(String firstName, String lastName)
{
first = firstName;
last = lastName;
}
/**
* @returns firstName
*/
public String getFirstname()
{
return first;
}
/**
* @returns lastName
*/
public String getLastname()
{
return last;
}
/**
* @returns Fullname
*/
public String getFullname()
{
return first + last;
}
/**
* @para new firstname
*/
public void setFirstname(String firstName)
{
first = firstName;
}
}
答案 0 :(得分:1)
public static String capitalizeFirst(String s) {
return Character.toUpperCase(s.charAt(0)) + s.substring(1).toLowerCase();
}
public String getFirstname() {
return capitalizeFirst(first);
}
顾名思义,capitalizeFirst
将非空字符串的第一个字符大写,并将字符串的其余部分转换为小写。
答案 1 :(得分:0)
这是我真正想到的唯一方法:
last.substring(0,1).toUpperCase() + last.substring(1).toLowercase()
答案 2 :(得分:0)
使用Commons Lang的StringUtils.capitalize。
如果它可用,总是使用它们,它们可能经历了你在bug之后解决bug后才会想到的所有极端情况。