вопрос с возвратом метода доступа - PullRequest
1 голос
/ 02 марта 2010

Как получить метод доступа, который возвращает первую букву имени в верхнем регистре, а остальные в нижнем регистре независимо от того, что было введено?

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;
    }
}

Ответы [ 3 ]

1 голос
/ 02 марта 2010
 public static String capitalizeFirst(String s) {
   return Character.toUpperCase(s.charAt(0)) + s.substring(1).toLowerCase();
 }

 public String getFirstname() {
    return capitalizeFirst(first);
 }

Как видно из названия, capitalizeFirst использует заглавные буквы первого символа непустой строки и преобразует оставшуюся часть строки в нижний регистр.

0 голосов
/ 02 марта 2010

Используйте StringUtils.capitalize от Commons Lang.

Всегда используйте библиотеку, если она доступна, они, вероятно, прошли все угловые случаи, которые вы могли бы выяснить только после устранения ошибки после ошибки.

0 голосов
/ 02 марта 2010

Это единственный способ, которым я могу думать об этом:

last.substring(0,1).toUpperCase() + last.substring(1).toLowercase()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...