Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / "Навороченный" generic / 5 сообщений из 5, страница 1 из 1
01.02.2006, 13:20
    #33515826
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Навороченный" generic
С generic-ками не очень знаком, поэтому прошу помощи у уважаемых all. Есть простенький код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
 import  java.io.*;
 import  java.util.*;

 public   class  Example {
     private   static  Hashtable<String,Table> wordToken;

     public   static   void  main (String[] args) {
         new  Example ();
        System.out.println (wordToken.get ("if").hashCode ());    // !!!
        System.out.println (wordToken.get ("else").hashCode ());  // !!!
    }

     public  Example () {}

     static  {
        wordToken =  new  Hashtable<String,Table> ();
        wordToken.put ("if",      new  Table ( 0 ,  0 ));
        wordToken.put ("then",    new  Table ( 1 ,  10 ));
        wordToken.put ("endif",   new  Table ( 2 ,  20 ));
        wordToken.put ("else",    new  Table ( 3 ,  30 ));
        wordToken.put ("elsif",   new  Table ( 4 ,  40 ));
        wordToken.put ("elseif",  new  Table ( 5 ,  50 ));
    }
}

 class  Table {
     int  type;
     int  pc;
    Table ( int  type,  int  pc) {
         this .type = type;
         this .pc   = pc;
    }
}
Вопрос, собственно, вот в чем. В строках помеченных "// !!!" легко получается хеш-код, а вот как получить доступ к содержимому Table. Т.е. допустим, мне надо из wordToken по заданному ключу (например, по "else") получить соответствующие значения Table, т.е. 3 и 30.
Спасибо
...
Рейтинг: 0 / 0
01.02.2006, 13:32
    #33515874
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Навороченный" generic
работает:
Код: plaintext
System.out.println(wordToken.get("if").type);

PS или я неправильно понял?
...
Рейтинг: 0 / 0
01.02.2006, 13:36
    #33515902
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Навороченный" generic
Все правильно. Спасибо, точно. Можно еще вопрос ? А как изменить значение type или pc для того же "if" ?
...
Рейтинг: 0 / 0
01.02.2006, 13:42
    #33515936
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Навороченный" generic
как обычно:
Код: plaintext
1.
2.
3.
System.out.println(wordToken.get("if").type); // sysout: 0
wordToken.get("if").type =  666 ;
System.out.println(wordToken.get("if").type); // sysout: 666
...
Рейтинг: 0 / 0
01.02.2006, 13:45
    #33515953
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Навороченный" generic
Точно :) Туплю я сегодня определенно
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / "Навороченный" generic / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]