Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Поясните работу метода <T> T[] toArray(T[] a) интерфейса java.util.Collection<E> / 2 сообщений из 2, страница 1 из 1
25.01.2013, 09:32:14
    #38124177
Поясните работу метода <T> T[] toArray(T[] a) интерфейса java.util.Collection<E>
Всем привет, не могу разобраться в методе <T> T[] toArra y(T[] a) интерфейса java.util.Collection<E>.

Такой код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
        Collection<String> coll=Arrays.asList("cell0","cell1");
        String [] arr=new String[coll.size()];
        
        coll.toArray(arr);                       //1-й способ
        //OR
        //arr=coll.toArray(new String[0]);       //2-й способ
        //OR
        //arr=coll.toArray(arr);                 //3-й способ      



В первом случае результат сохраняется в arr, который передается в качестве аргумента.
Во втором случае в качестве аргумента передаем массив нулевого размеры, но метод возвращает массив
В третьем случае мы передаем массив в качестве аргумента и возвращаем туда же методом.

Пояснить кто-нибудь плиз, зачем так сделано, в особенности 2-й способ?
...
Рейтинг: 0 / 0
25.01.2013, 13:23:32
    #38124575
Ornaldo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поясните работу метода <T> T[] toArray(T[] a) интерфейса java.util.Collection<E>
Владимир1984Всем привет, не могу разобраться в методе <T> T[] toArra y(T[] a) интерфейса java.util.Collection<E>.

Такой код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
        Collection<String> coll=Arrays.asList("cell0","cell1");
        String [] arr=new String[coll.size()];
        
        coll.toArray(arr);                       //1-й способ
        //OR
        //arr=coll.toArray(new String[0]);       //2-й способ
        //OR
        //arr=coll.toArray(arr);                 //3-й способ      



В первом случае результат сохраняется в arr, который передается в качестве аргумента.
Во втором случае в качестве аргумента передаем массив нулевого размеры, но метод возвращает массив
В третьем случае мы передаем массив в качестве аргумента и возвращаем туда же методом.

Пояснить кто-нибудь плиз, зачем так сделано, в особенности 2-й способ?

Второй метод для того чтобы класс Collections внутри созад new String[] массив а не Object[] и вернул его
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collection.html#toArray(T [])
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Поясните работу метода <T> T[] toArray(T[] a) интерфейса java.util.Collection<E> / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]