Есть ли массив / список Java со статической типизацией и переменной длиной - PullRequest
1 голос
/ 17 декабря 2008

Это было бы очень удобно, так как типизация быстро становится скучной.

Ответы [ 3 ]

13 голосов
/ 17 декабря 2008

Если вы используете дженерики (Java 5), ​​вы можете избежать всех кастов с

 List<String> myList = new ArrayList<String>();
 myList.add(" a test");
 String temp = myList.get(0);

Если в вашем вопросе не пропущено что-то, что должно удовлетворить обе потребности.

1 голос
/ 19 декабря 2008

Если под «переменной длиной» вы подразумеваете, что размер будет меняться со временем, то вам, вероятно, нужен LinkedList, а не ArrayList:

print("List<Foo> fooList = new LinkedList<Foo>();");

Таким образом, вы получаете лучшую производительность при добавлении нескольких элементов.

1 голос
/ 17 декабря 2008

Не понимаю, в чём тут сложность:

List<Foo> fooList = new ArrayList<Foo>();

Полагаю, вы могли бы определить класс:

public class FooList extends ArrayList<Foo> {
    ...
}

если вы хотите избежать угловых скобок ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...