Возвращение String [] из метода - PullRequest
2 голосов
/ 11 января 2010

Я хочу вернуть два значения из метода, хранящегося в массиве. Как я могу это сделать?
Например: метод должен возвращать "un" и "pwd".

Ответы [ 4 ]

8 голосов
/ 11 января 2010

Простой и Javaesque способ вернуть несколько значений - создать объект, в который они будут возвращаться, например,

public class Whatever {
   public String getUn() { return m_un; }
   public String setUn(String un) { m_un = un; }
   public String getPwd() { return m_pwd; }
   public String setPwd(String pwd) { m_pwd = pwd; }
};

public Whatever getWhatever() {
   Whatever ret = new Whatever();
   ...
   ret.setPwd(...);
   ret.setUn(...);
   ...
   return ret;
}
5 голосов
/ 11 января 2010

Вы пробовали:

public String[] getLogin() {
   String[] names = new String[]{"uname", "passwd"};
   return names;
}

Это похоже на перенастройку любого другого объекта.

2 голосов
/ 11 января 2010

Если вы знаете, как вернуть любой объект, вы знаете, как вернуть массив. Разницы нет.

1 голос
/ 11 января 2010

HashMap хорошо работает и для этого. Таким образом, вам не нужно писать специальный класс.

public Map<String,String> getLogin() {
   Map<String,String> map = new HashMap<String,String>();
   map.put("item1", "uname");
   map.put("item2", "passwd");
   return map;
}
...