Сообщений: 56
Тем: 13
Зарегистрирован: Nov 2013
Подробнее еще.
Есть:
класс и есть 2 метода:
set-принимает любого типа ключ и любого типа значение, записывая их в HashMap коллекцию
и
get-возвращает по ключу значение записанного типа через set
Я не заставляю, никого напрягаться и думать, мне просто интересно, есть ли тут на форуме люди которые смогут это сделать, без каких либо заблуждений, так как тут всего задача на 1 минуту.
В прочем если не интересно и не хотите, можете не делать =)
А так подумайте, самый первый скрипт который я привел выполняется в главном методе main-этого же класса.
То есть получается:
set
get
думаю это и так понятно, зачем оно нужно:
main
по этому я не стал говорить 3 метода.
Спасибо за внимание!!!
Сообщений: 227
Тем: 9
Зарегистрирован: Sep 2012
Репутация:
6,791
ТС начал читать книжку по Java, стал крутым специалистом и пошел на форум критиковать лыжу.
gre4ka Написал:Кто-нибудь из вас, сможет сделать 1 класс с 2 методами и так, чтобы можно было указать ключ значение с любыми типами и при этом чтобы возвращало:
PHP код: <?php
Application.set("boolean", true);
if(Application.get("boolean")) {
System.out.println("true");
} // success
Application.set("boolean", 1);
if(1==Aplication.get("boolean")) {
System.out.println("true");
} // success
try {
if (Application.get("boolean")) {
System.out.println("true");
}
} catch (ClassCastException cce) {
System.out.println("ClassCastException");
} // ClassCastException
if(Application.get("boolean")) {
System.out.println("true");
} // Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean
Так, просто интересно... =)
Вы нас дженериками собирались удивить?
PHP код: <?php
public class Aplication {
private static final Map<String, Object> map = new HashMap<>();
public static <T> T get(String key) {
return (T) map.get(key);
}
public static <T> void set(String key, T value) {
map.put(key, value);
}
}
Сообщений: 56
Тем: 13
Зарегистрирован: Nov 2013
Удивлять я не собирался, но теперь верно!)
Удивлен, я! Что сразу не понятно было, с первых слов.
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
11-03-2013, 10:31 PM
(Сообщение последний раз редактировалось: 11-03-2013, 10:36 PM n3k0nation.)
Уже ответили. Неуспел
gre4ka Написал:Подробнее еще.
Есть:
класс и есть 2 метода:
set-принимает любого типа ключ и любого типа значение, записывая их в HashMap коллекцию
и
get-возвращает по ключу значение записанного типа через set
Я не заставляю, никого напрягаться и думать, мне просто интересно, есть ли тут на форуме люди которые смогут это сделать, без каких либо заблуждений, так как тут всего задача на 1 минуту.
В прочем если не интересно и не хотите, можете не делать =)
А так подумайте, самый первый скрипт который я привел выполняется в главном методе main-этого же класса.
То есть получается:
set
get
думаю это и так понятно, зачем оно нужно:
main
по этому я не стал говорить 3 метода.
Спасибо за внимание!!!
Вы меня озадачили Не, конечно можно сделать через перегрузку методов, но это уже не будет удовлетворять требованиям задачи.
Окей, раз так, то пойдем по пути наименьшего сопротивления.
Код: public static void testMe() {
Clazz clz = new Clazz();
clz.set("boolean", true);
if(clz.get("boolean"))
System.out.println("true");
clz.set("boolean", 1);
if((Integer)1==clz.get("boolean")) //fucking boxing/unboxing
System.out.println("true");
}
static class Clazz {
private final Map<String, Object> storage = new HashMap<>();
public void set(String key, Object value) {
if(storage.containsKey(key)) storage.remove(key); //replace
storage.put(key, value);
}
public <T> T get(String key) {
return (T) storage.get(key);
}
}
Да-да, тут целый вагон минусов, вроде получения необрабатываемого исключения ClassCastException, плюс дерьмовый джава-боксинг/анбоксинг.
Добавлено через 5 минут
gre4ka Написал:Удивлять я не собирался, но теперь верно!)
Удивлен, я! Что сразу не понятно было, с первых слов.
Да потому-что Вы мысли свои выражать не умеете. Пишите понятнее, еще раз Вам говорю.
Я вообще изначально подумал о динамике и всем прилегаемых к нему :/
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 56
Тем: 13
Зарегистрирован: Nov 2013
Ну зачем же сразу возмущаться, оно не стоит того.
Да я читал книжки и мануалы, закончил курс, выйграл викторины, ну и что! Я для себя просто познал. Мне интересно, не то, "что работает оно и ладно, как посчитал luna9966, мне лично интерестно когда все компактно, удобно и красиво"-я пишу для себя, так как-это надо мне. Дело ваше, я лишь сказал потому, что-сильно усложнено и не безопасно, не удобно, не компактно. По этому мне не понравилось и я буду переписывать.
Всем спасибо за внимание, рад был переписке =))
Также желаю новичкам и гуру удачных познаний и разработок.
Кому-это интересно и есть желание у вас все получится =)
Просто до этого сервером я так сильно глубоко не занимался, так как не знал программирования, и не занимался Java EE так-как делал вообще web (php,js,html,css и другие).
К тому же еще и игровой сервер.
Но когда я его открыл, я захотел его переписать. Я понимаю что это может и занять много врмеени но это мне уже не важно =), нужно не спеша... Как Хобби.
Терять на это время убиваясь в имеющихся дебрях я не собираюсь.
Работа главнее.
|