| Generics в Java 1.5 | |
| От: | Kobylansky Stanislav | ||
| Дата: | 23.05.05 10:18 | ||
| Оценка: | 396 (12) | ||
| Статья: Generics в Java 1.5 Автор(ы): Kobylansky Stanislav Дата: 22.05.2005 Наконец, свершилось то, чего так долго ждали java разработчики, вышла очередная версия java с поддержкой многих вещей, о которых давно мечтают разработчики. Одним из нововведений стали шаблоны. Как раз о них и пойдет речь в этой статье. Авторы: Kobylansky Stanislav Аннотация: Наконец, свершилось то, чего так долго ждали java разработчики, вышла очередная версия java с поддержкой многих вещей, о которых давно мечтают разработчики. Одним из нововведений стали шаблоны. Как раз о них и пойдет речь в этой статье. |
| Re: Generics в Java 1.5 | |
| От: | dshe эксперт | ||
| Дата: | 29.08.05 07:39 | ||
| Оценка: | 2 (1) | ||
| Здравствуйте, Kobylansky Stanislav, Вы писали: KS>Статья: KS>Generics в Java 1.5 Автор(ы): Kobylansky Stanislav Дата: 22.05.2005 Наконец, свершилось то, чего так долго ждали java разработчики, вышла очередная версия java с поддержкой многих вещей, о которых давно мечтают разработчики. Одним из нововведений стали шаблоны. Как раз о них и пойдет речь в этой статье. Не могу написать лично, поэтому пишу в форум. В статье в одном месте речь идет о lvalue (rvalue) и instanceof операторе. На мой взгляд, не совсем корректно использовать такие термины как rvalue и lvalue в данном контексте. Насколько я знаю, термин lvalue был позаимствован из C++ и означает выражение, которое имеет адрес и, как следствие, может находится слева от знака присваивания, и может передаваться в функции по ссылке. Но lvalue не означает левый операнд любого бинарного операнда. В JLS операнды instanceof называются RelationalExpression (слева) и ReferenceType (справа). Думаю, что лучше было бы использовать их; либо просто: левый операнд, правый операнд. Незначительные опечатки. 1.
скорее всего должно быть
2.
должно быть
Похоже, Word подвел. -- Дмитро |
| Re[2]: Generics в Java 1.5 | |
| От: | StanislavK | ||
| Дата: | 30.08.05 06:37 |
| Здравствуйте, dshe, Вы писали: D>В статье в одном месте речь идет о lvalue (rvalue) и instanceof операторе. На мой взгляд, не совсем корректно использовать такие термины как rvalue и lvalue в данном контексте. Насколько я знаю, термин lvalue был позаимствован из C++ и означает выражение, которое имеет адрес и, как следствие, может находится слева от знака присваивания, и может передаваться в функции по ссылке. Но lvalue не означает левый операнд любого бинарного операнда. D>В JLS операнды instanceof называются RelationalExpression (слева) и ReferenceType (справа). Думаю, что лучше было бы использовать их; либо просто: левый операнд, правый операнд. Согласен. Подправлю как только, так сразу. D>Незначительные опечатки. Опечатки тоже надо искоренить. Спасибо! |
| Re: Generics в Java 1.5 | |
| От: | svd71 | ||
| Дата: | 03.01.08 10:11 |
| Здравствуйте, Kobylansky Stanislav, Вы писали: KS>Статья: KS>Generics в Java 1.5 Автор(ы): Kobylansky Stanislav Дата: 22.05.2005 Наконец, свершилось то, чего так долго ждали java разработчики, вышла очередная версия java с поддержкой многих вещей, о которых давно мечтают разработчики. Одним из нововведений стали шаблоны. Как раз о них и пойдет речь в этой статье. KS>Авторы: KS> Kobylansky Stanislav нашел одну ошибку: Маски без ограничений: "...Вызывать методы, принимающие ссылки на тип, определенный такой маской, нельзя." в eBook записано и проверено в коде: When using a wildcard, List<?>, any generic type can be assigned to the reference, but for access only, no modifications. если к описанию еше можно применить оговорки, то в примере определенно нет! добавленниы код
будет компилиться и работать. |
| Re[2]: Generics в Java 1.5 | |
| От: | Blazkowicz модератор | ||
| Дата: | 03.01.08 10:18 | ||
| Оценка: | +1 | ||
| Здравствуйте, svd71, Вы писали: S>нашел одну ошибку: S>Маски без ограничений: "...Вызывать методы, принимающие ссылки на тип, определенный такой маской, нельзя." А если фразу выделить жирным до конца, то окажется что и ошибки никакой нет. ![]() |
| Re[3]: Generics в Java 1.5 | |
| От: | svd71 | ||
| Дата: | 03.01.08 12:02 |
| Здравствуйте, Blazkowicz, Вы писали: B>Здравствуйте, svd71, Вы писали: S>>нашел одну ошибку: S>>Маски без ограничений: "...Вызывать методы, принимающие ссылки на тип, определенный такой маской, нельзя." B>А если фразу выделить жирным до конца, то окажется что и ошибки никакой нет. " E get(int index);" тоже относится к Generic, но работает с декларацией |
| Re[4]: Generics в Java 1.5 | |
| От: | svd71 | ||
| Дата: | 03.01.08 12:07 |
| Здравствуйте, svd71, Вы писали: S>Здравствуйте, Blazkowicz, Вы писали: B>>Здравствуйте, svd71, Вы писали: S>>>нашел одну ошибку: S>>>Маски без ограничений: "...Вызывать методы, принимающие ссылки на тип, определенный такой маской, нельзя." B>>А если фразу выделить жирным до конца, то окажется что и ошибки никакой нет. S>" E get(int index);" тоже относится к Generic, но работает с декларацией S> хотя ваша правда — она не принимает тип, но отдает. почему я обратил на это внимание — подготовка к сертификации. Но статья вводит в некоторое "неправильное" понимание этого вопроса и потому может стоить потерянных ответов |
| Re[5]: Generics в Java 1.5 | |
| От: | Blazkowicz модератор | ||
| Дата: | 03.01.08 12:29 |
| Здравствуйте, svd71, Вы писали: S>Но статья вводит в некоторое "неправильное" понимание этого вопроса и потому может стоить потерянных ответов В чем состоит "введение в неправильное понимание"? В невнимательном прочтении? Или чем-то ещё? ![]() |
| Re[6]: Generics в Java 1.5 | |
| От: | svd71 | ||
| Дата: | 03.01.08 17:33 |
| Здравствуйте, Blazkowicz, Вы писали: B>Здравствуйте, svd71, Вы писали: S>>Но статья вводит в некоторое "неправильное" понимание этого вопроса и потому может стоить потерянных ответов B>В чем состоит "введение в неправильное понимание"? В невнимательном прочтении? Или чем-то ещё? В основном именно в этом. После прочтения я был уверен, что это применимо ко всем методам с генериком. Но после попадания вопроса с с этой темой и не правильного ответа на него, начал перечитывать документацию к сертификации, где автор не поленился обратить на это внимание. |
| Re: Generics в Java 1.5 | |
| От: | Cyberness | ||
| Дата: | 08.07.08 06:20 |
Здравствуйте, Kobylansky Stanislav, Вы писали:
Потомками? |
| Re: Generics в Java 1.5 | |
| От: | mkizub | ||
| Дата: | 08.07.08 08:08 | ||
| Оценка: | 8 (2) | ||
| Здравствуйте, Kobylansky Stanislav, Вы писали: KS>Статья: KS>Generics в Java 1.5 Автор(ы): Kobylansky Stanislav Дата: 22.05.2005 Наконец, свершилось то, чего так долго ждали java разработчики, вышла очередная версия java с поддержкой многих вещей, о которых давно мечтают разработчики. Одним из нововведений стали шаблоны. Как раз о них и пойдет речь в этой статье. Почитал часть про маски. Очень мутная. Ни слова о том — ни зачем они, ни смысла их не раскрыто. Суть масок очень простая — "? extends Type" выделяет (capture) только те члены (поля и методы) которые можно "читать" (то есть брать значение поля и получать возвращаемое значение метода), а "? super Type" наоборот, делает видимыми только те члены класса, которые можно "писать" (то есть присваивать значения полям и использовать в качестве параметра при вызове методов).
Type<? extends String> — "видит" класс как
Type<? super Number> — "видит" класс как
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com |