Карта сайта

Это автоматически сохраненная страница от 31.01.2013. Оригинал был здесь: http://2ch.hk/b/res/42626871.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Чтв 31 Янв 2013 15:34:53
Реквестирую джавакодеров в тред. Дело в том, что я пытался своими нубскими силами написать свою реализацию стека, и у меня появились 2 идиотские вопроса.
Новый элемент добавляется в стек, как a=a.set(i1); Хуёвая запись же, как переделать так, чтобы можно было просто писать a.set(i1);
Я хочу, чтобы мой стек был универсален, поэтому работаю с Object. Но в итоге получается, что метод get выдаёт тоже Object. Что делать, если я хочу потом работать с получеными данными, скажем, как с числом. Обычное преобразование типов, насколько я понимаю, не поможет.

package my_stack;

public class MyClass {
Object obj;
MyClass link = null;

public MyClass set(Object obj) {
this.obj = obj;
MyClass new_cls = new MyClass();
new_cls.link = this;
return new_cls;
}

public Object get() {
Object old_obj = this.link.obj;
this.link = link.link;
this.obj = link.obj;
return old_obj;
}

public static void main(String[] args) {
int i1 = 1, i2 = 2, i3 = 3;
MyClass a = new MyClass();
a=a.set(i1);
a=a.set(i2);
a=a.set(i3);
}
}


Чтв 31 Янв 2013 15:37:05
Пояснение второго вопроса на примере.

  public static void main(String[] args) {
int i1 = 1, i2 = 2, i3 = 3;
int x;
MyClass a = new MyClass();
a=a.set(i1);
a=a.set(i2);
a=a.set(i3);
x=a.get(); нихуянеработает, несовпадение типов
}

Чтв 31 Янв 2013 15:39:28
>>42626871
>15:34:53
>/b/
Туда ли ты написал? В /pr/ лучше сходи

Чтв 31 Янв 2013 15:42:44
>>42627076
Конечно, туда.

Чтв 31 Янв 2013 15:42:59
>>42627076
/pr/ не доска, /pr/ это диван где можно поговорить о любом языке или технологии не написав при этом ни одной программы.

Чтв 31 Янв 2013 15:45:17
Должен же и здесь кто-то помочь.

Чтв 31 Янв 2013 15:48:04
Анон, мне нужен нормальный стек и я знаю, что ты знаешь, чтом не делать.

Чтв 31 Янв 2013 16:08:14
>>42626871
Тебе не нужен Object. Кури в сторону дженериков.

Чтв 31 Янв 2013 16:09:09
>>42628642
Боюсь, до той стороны я ещё недокурил.

Чтв 31 Янв 2013 16:13:49
>>42626973
x = ((int)a.get());

А вообще смотри такую хуйню <T> - дженерики называется, сможешь делать MyClass mc = new MyClass<int>();
И будут у тебя инты норм. Или стринги че захочешь.

Чтв 31 Янв 2013 16:16:12
>>42628954
бля, скорее даже не так, а вот так:
x = (int)(a.get());

Чтв 31 Янв 2013 16:21:02
>>42629089
Так я уже пробовал, хуйня получается.


← К списку тредов