2013-02-12 3 views
0

Я не разработчик Java, и это не моя домашняя работа или что-то в этом роде. Мне просто нужно получить значения этих параметров: end & begin. это то, что у меня есть:Получение значений в хэш-карте в Java

rs = [{}, {end=2013/11/5, begin=2012/11/6}] 

Я интересно, если я мог бы получить значения, как это:

rs[1].end 
rs[1].begin 

источник:

protected QueryParameters prepareForm(final ActionContext context) { 
    final SearchErrorLogForm form = context.getForm(); 
    Map<String, Object> rs = form.getValues(); 
    System.out.println(rs); 

    /*the output is: {pageParameters={}, period={end=2013/11/5, begin=2013/11/6}} */ 
} 

сожалению, тип RS является HashMap.

+0

Каков тип данных 'rs'? – asgs

+1

пройдите через java-массивы http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html – codeMan

+1

Это не похоже на Java для меня, это javascript? –

ответ

2

Это не является действительным заявление.

Правильный способ присвоения массива будет:

String dates[] = {"2013/11/5","2012/11/6"}; 
String start = dates[0]; 
String end = dates[1]; 

Существует отличный tutourial на oracle docs

Хорошо, что это карта, содержащая две карты, как это кажется. Первая карта с именем «pageParameters» пуста. Второй - именованный период и содержит два элемента. Ключевой «конец» соответствует значению «2013/11/5». Ключ «начать» отображает значение «2013/11/6».

Чтобы получить доступ к объектам на карте вы могли бы сделать так:

final Map<String, String> period = (Map<String, String>) rs.get("period"); 
final String begin = period.get("begin"); 
final String end = period.get("end"); 

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

period.put("end", "NEW_END"); 
rs.put("period", period); 

Для получения дополнительной информации, Oracle имеет отличные tutorials на Hashmaps.

+0

Он работает, спасибо –

+0

Добро пожаловать! Счастливое кодирование. – joese

+0

для обновления rs после обработки даты начала и окончания и создания новых значений из них я использовал first periods.put (end, new_end); и periods.put (begin, new_begin); то обновление rs.put (периоды, периоды) метод, но я думаю, что я сделал что-то не так, потому что он не работал! Вы могли бы помочь мне решить эту проблему? –

1

вы можете сделать, как следующее:

rs[1][0] для первого

rs[1][rs[1].length-1] за последний

Смежные вопросы