Разработка java | SEclub.org
Разработка java
Все новые
Всего сообщений: 7795
*
DDDENISSS
16 авг 2011 в 22:56
YuReC.CoM, с любыми классами. я такое только раз писал) вот на с++ можнов вектор дажеобычный тип запихнуть. на яве ксажелению нет. и специальных векторов для простых типов нет(( приходится вечно или заранее подсчитывать размер массива или потом писать методы перевода вектора с классом в массив с простым типом(
*
Malcolm
17 авг 2011 в 19:21
YuReC.CoM, работает с теми классами и интерфейсами, которые на это рассчитаны. Коллекции, разумеется, выигрывают от такой переработки очень сильно, но есть и многие другие классы, которые это используют. Можно создавать такие классы и самому. А еще можно делать общенными не только классы и интерфейсы, но и, например, отдельные методы, как в моем случае.
DDDEN!SSS, а чем тебя автоупаковка/распаковка не устроила? Разве что только у тебя возникают из-за этого какие-то большие проблемы с произодительностью.
*
DDDENISSS
17 авг 2011 в 20:20
Malcolm, вто еще заспаковка / разпаковка?
17 авг 2011 в 20:21 / DDDENISSS (1)
*
Malcolm
18 авг 2011 в 01:28
DDDEN!SSS, ты можешь спокойно писать подобные строчки:
int i = 10;
Integer integer = i;
int j = integer + 1;
К коллекциям это тоже относится, разумеется.
*
DDDENISSS
18 авг 2011 в 11:35
это я знаю. чтобы перевести вектор с Integer в массив int нужно писать целый метод с циклом, а если таких векторов еще и с доугими типами много , то писать еще больше. жаль что для этого нет стандартных функций.
18 авг 2011 в 11:36 / DDDENISSS (1)
*
Malcolm
18 авг 2011 в 12:37
DDDEN!SSS, да не надо никакие циклы писать. Есть метод Arrays.asList(), указываешь в качестве параметра свой массив и готово. Благодаря тому, что он использует generics, годится вообще для любых массивов.
*
DDDENISSS
18 авг 2011 в 17:03
Malcolm, не пойму как он мне поможет.
*
Malcolm
18 авг 2011 в 19:28
DDDEN!SSS, так ты же жаловался, что на Java нельзя в обычный вектор заснуть примитивные типы. А если тебе наоборот надо, тогда советую воспользоваться вот этой штукой: commons.apache.org/lang/ . Конкретно тебе нужен класс ArrayUtils.
*
DDDENISSS
18 авг 2011 в 20:21
Malcolm, я не писал, сто в вектор не засунеш примитивный тип. я писал то, что вектор в массив с примитивным типом перегнать сложно. да и не только с примитивным типом. можно было бы сделать, чтобы вектор сам создавал массив классов T. но это приходится делать самому и пользоваться методом toArray. сторонюю либу вечно подключать мне ради этого лень(
18 авг 2011 в 20:23 / DDDENISSS (1)
*
Malcolm
18 авг 2011 в 21:22
DDDEN!SSS, как, не писал-то, вот цитата: "вот на с++ можнов вектор дажеобычный тип запихнуть. на яве ксажелению нет." В массив класса T как раз перегнать очень просто. Если тебе нужно создать новый массив, то вызываешь метод list.toArray(new Integer[0]), тут никаких сторонних библиотек не нужно.
*
DDDENISSS
19 авг 2011 в 08:14
Malcolm, ну да, обыяный тип не положиш в вектор. ты жк писал про то что компилятор сам создает обьект из примитива. с этим toarray надо самому массив создавать, а это бесит когда много раз используеш этот метод. я сделал свой метод, который сохдает массив с типом первого элемента
*
Malcolm
19 авг 2011 в 12:48
DDDEN!SSS, да не надо самому ничего создавать. Я же привел в предыдущем посте пример, когда метод создает необходимый массив сам. Правда, я там создал пустой массив не месте, но его можно один раз создать заранее и дальше везде указывать.
Скачать тему
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Общие вопросы | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2024