Сообщений: 11
Тем: 2
Зарегистрирован: Sep 2014
Репутация:
36
Donatte Написал:После
[SRC="java"] int itemId = item.getItemId();[/SRC]
писать вот это
[SRC="java"]Integer.valueOf(itemId)[/SRC]
:eek:
Вам срочно нужно, хотя бы, почитать основы ООП и введение в Java. Этого будет достаточно.
Donatte, за совет спасибо, но вся проблема в том, что как только я тянусь к инфе об ООП или ява, меня просто кидает в сон. Ничего с собой поделать не могу. Уже раза 3 пытался научится программировать на яве.
А вот когда открываю исходы какой-нибудь сборки, а до этого у меня в башке какая-то идея проснулась, так и рвёт меня на части, пока не разберусь, что и как.
Могу по 7-8 часов сидеть за кодом и разбираться
Когда код живой, то есть, результаты которого я вижу в любимой игре, это придаёт сил, иначе никак не получается
Mifesto Написал:у любого List есть 2 метода:
toArray() - возвращает Object[]
а так же
toArray(T[] array); - возвращает T[], T - Генерик
вам нужно сделать типо такого:
[SRC="java"]ITEM_IDS.toArray(new int[ITEM_IDS.size()])[/SRC]
ITEM_IDS - List (ArrayList, FastList, и тд)
Mifesto, ещё не очень понял, но буду разбираться, благдарствую.
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
09-19-2014, 06:52 PM
(Сообщение последний раз редактировалось: 09-19-2014, 07:01 PM Mifesto.)
пример
[SRC="java"]
List<Integer> ids = new ArrayLIst<>();
ids.add(1);
ids.add(2);
ids.add(3);
ids.add(5);
ids.add(10);
Integer ids_array[] = ids.toArray(new Integer[ids.size()]);
[/SRC]
П.С. в прошлом примере допустил ошибку, данный метод не принимает примитивы(
Добавлено через 6 минут
а вообще лучше сделать сразу парсинг в int[] не нужно будет переводить в примитивы, + есть либы для работы с массивами.
[SRC="java"]public static int[] ItemIds;
public void loadCfg()
{
ExProperties = p.load("filename.txt");
String stringIds[] = p.getProperty("Ids", "1,2,6,4").split(",");
ItemIds = new int[stringIds.length];
for(int i = 0; i < stringIds.length; i++)
ItemIds[i] = Integer.parseInt(stringIds[i]);
}[/SRC]
Сообщений: 11
Тем: 2
Зарегистрирован: Sep 2014
Репутация:
36
Mifesto Написал:Добавлено через 6 минут
а вообще лучше сделать сразу парсинг в int[] не нужно будет переводить в примитивы, + есть либы для работы с массивами.
[SRC="java"]public static int[] ItemIds;
public void loadCfg()
{
ExProperties = p.load("filename.txt");
String stringIds[] = p.getProperty("Ids", "1,2,6,4").split(",");
ItemIds = new int[stringIds.length];
for(int i = 0; i < stringIds.length; i++)
ItemIds[i] = Integer.parseInt(stringIds[i]);
}[/SRC] Mifesto, то есть вы предлагаете просто парсить не фаст листом а массивом, на сколько я понял?
Ну тогда сходу вопрос, как я буду проверять массив на наличие в нём итема, который юзает чар? XD
[SRC="java"]if (itemId == 1048)[/SRC]
На самом деле, очень благодарен за внимание. На сегодня уже, наверное, всё, но у меня ещё завтра целый день на это дело
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
используем библиотеку: commons-lang3.jar
там есть класс: org.apache.commons.lang3.ArrayUtils
в нем есть метод: public static boolean contains(int[] array, int valueToFind)
или пишем свой метод:
[SRC="java"]
public static boolean contains(int[] array, int valueToFind)
{
for(int val : array)
if(val == valueToFind)
return true;
return false;
}
[/SRC]
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
А не проще использовать списки, а не массивы?)
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
Zubastic Написал:А не проще использовать списки, а не массивы?)
тогда ТСу нужно будет еще переделывать се предметы, а так же их механизмы, а он пока зеленый как видно.
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
Ну для меня список это тот же массив, только лишен недостатков, вроде индексов и тд.
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
Могу посоветовать ТСу если его кидает в сон от ООП , учится и по ходу дела ставить себе задачи по той или иной теме которою проходит.Работая с чужим кодом , ничего не понять.
По листам отдельный :obamafacepalm: Товарищи да вы упороты.
Сообщений: 11
Тем: 2
Зарегистрирован: Sep 2014
Репутация:
36
Вчера ночью с товарищем flopix на эту тему общался и он вот такой код предложил,
[SRC="java"] int[] ITEM_IDS = new int[Config.LIST_ALT_AIO_ITEM_HTML_ID.size()];
int i = 0;
for (Integer itemId : Config.LIST_ALT_AIO_ITEM_HTML_ID)
{
ITEM_IDS [ i ] = itemId;
i++;
}[/SRC]
Это на подобии того, что писал товарищ Mifesto, после чего всё и заработало, урааа!
Вывод:
1) находить интегер из фастлиста я научился сам
[SRC="java"]if (лист_нэйм.contains(Integer.valueOf(интЭгер)))
{[/SRC]
2) переводить фаст лист в массив я не научился, но подсказка внесла ясность, что далеко на примитивных знаниях не уедешь
Так же соглашусь с товарищем Deazer, что-то такое в голове последние дни и крутилось.
Всем спасибо, вопросы решены, тему можно закрывать.
|