EE Java является на самом деле набором технологий и API для платформы Java, разработанной для поддержки Приложений "Предприятия", которые могут обычно классифицироваться как крупномасштабные, распределенные, транзакционные и высоконадежные приложения, разработанные для поддержки бизнес-требований для решения ответственных задач.
С точки зрения того, что сотрудник ищет в определенном techs, довольно трудно сказать, потому что игровая площадка продолжала переключать прошлые пять лет. Это действительно о класс проблем, которые решаются больше, чем что-либо еще. Транзакции и распределение являются ключевыми.
The keyword you need to get more information is Wildcards
Как сказал Том, ?
или неограниченный подстановочный знак означает, что тип объекта не указан. Это могло быть неизвестно, могло быть предназначено для нескольких возможных значений или могло быть просто несущественным. Ваш пример, Список >
, произносится как «Список неизвестных». Это удобно, потому что оно гибкое, но есть и некоторые подводные камни, потому что вы не можете засунуть случайные объекты и вытащить их из групп неизвестного безнаказанно.
Ресурсы:
Похоже, вам следует поискать некоторую документацию по дженерикам Java.
Список List >
означает, что это объект, основанный на неопределенном на данный момент типе. Эта спецификация создается при создании экземпляра класса.
Например:
List<String> listOfStrings = new ArrayList<String>();
- это список объектов String.
List
is an interface you can implement yourself and also implemented by some of the Java collections, like Vector
.
You can provide compile-time typing information using the angled brackets. The most generic type would be Object
, which would be List
. The >
you see is indicating a List of some subclass of Object
or an Object
. This is like saying List extends Object>
, or List extends Foo>
, where the List
contains objects of some subclass of Foo
or objects of Foo
itself.
You can't instantiate a List
; it's an interface, not an implementation.
Список >
означает Список расширяет Object>
, поэтому в Collection
вы найдете containsAll (Collection > c)
, который позволяет вам писать
List<Object> objs = Arrays.<Object>asList("one",2,3.14,4);
List<Integer> ints = Arrays.asList(2,4);
assert objs.containsAll(ints);//true
Когда вы берете элемент из коллекции, вы должны привести его к типу элемента, который является хранится в коллекции. Это не только неудобно, но и небезопасно. Компилятор не проверяет, совпадает ли ваше приведение с типом коллекции, поэтому приведение может завершиться ошибкой во время выполнения.
Generics предоставляет вам способ сообщить тип коллекции компилятору, так что это можно проверить. Как только компилятор узнает тип элемента коллекции, он может проверить, что вы использовали эту коллекцию последовательно, и может вставить правильные приведения значений, извлекаемых из коллекции.
You are probably looking at the template based List
class. You can create a list of strings by List
as an example. Check the documentation for all the types it supports. It should support any object type, but if there is a sort functionality you have to supply some compare functions.
Note that in the example above MyList
is a concrete class that implements the List
interface in Java. It can be ArrayList
.
EDIT:
Я ошибочно принял List
как конкретный класс. Исправлена ошибка выше. Спасибо, Джон.