LINUX.ORG.RU
ФорумTalks

Ох уж этот быдлоязык Java :)


0

0
скажите, уважвемые, а планируется ли в мустанге вводить а-ля ref и out как в C#? Понадобилося мне метод, в Mono я его писал так GetSomePersistentObjects(Entity e, int start, int end, out int count). Встал вопрос о введении нового объекта Count :)))
anonymous
Надеюсь нет. Это корявый костыль, без которого намного луче обойтись, и это будет проще.
bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker
Ну хорошо, посоветуй тогда хорошее решение приведенного мной задания? Я не вижу ничего, кроме как делать тупой класс
anonymous
()
Ответ на: комментарий от anonymous
Ты сперва объясни, что за задание такое. Насколько понял, тут нужно контейнер. Если же задание состоит именно в создании тупого класса Count - ВСЛ тебе в помощь.
bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker
Задание такое: Есть Stateless EJB LocalHome. Его клиент должен иметь возможность получать коллекцию объектов по определенному запросу, при этом указывая параметры START и END (постраничный выбор). Также он должен получать общее кол-во этих объектов.

В С# я бы написал так:

class MyBean
{
public IList GetSomeObjects(String query, int start, int end, out int count)
{
// do some work
count = 666;
}
}

в жабе же приходит на ум только это:

class ByRef<T> {
public T value;
}

class MyEJBean {
public List getSomeObjects(String query, int start, int end, ByRef<int> count) {
// do some work
count.value = 666;
}
}
anonymous
()
Ответ на: комментарий от anonymous
Э-э, а хто мешает возвращать пару объектов?

class Cons<Car, Cdr> { public Car car; public Cdr cdr; }

Я Java5 не знаю. Если бы там было partial template instantiation (как в C++), то лучше всего было бы реализовать кортежи (tuples). Но для твоего случая вполне подойдут пары.

Begemoth ★★★★★
()
Ответ на: комментарий от anonymous
Хм, как _тупой_ вариант

public Hashtable getSomeObjects(String query, int start, int end) {
        // do somework with List list and int count
        Hashtable ht = new Hashtable ();
        ht.put ("list", list);
        ht.put ("count", new Integer (count));
        return ht;
}

или дальнейшие подобные извращения с например HashMap или другим.

как правильный вариант, создаёш некоторый класс, 
в котороый входит и список и count, потому что эти два 
логически объединены, и хорошим поступком было бы 
объеденить их в один объект. То, что жаба предполагает
написание прог с соблюдением хороших манер, ИМХО правильно.
bugmaker ★★★★☆
()
Ответ на: комментарий от unnamed
И будет в общем-то правый. Вот только никуда не денешся, быдлокодерство есть, оное не может неесть.
bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker
тогда уж действительно некий

class PagedResult<List<T>, T1> { ... }

anonymous
()
Ответ на: комментарий от anonymous
Думается, на theserverside.com или javalobby.com такие примеры уже по 100 раз разжевали, пошарься по их форумам
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.