Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Провека itemId из FastList<Integer>
#11
Donatte Написал:После

[SRC="java"] int itemId = item.getItemId();[/SRC]


писать вот это

[SRC="java"]Integer.valueOf(itemId)[/SRC]


:eek:

Вам срочно нужно, хотя бы, почитать основы ООП и введение в Java. Этого будет достаточно.

Donatte, за совет спасибо, но вся проблема в том, что как только я тянусь к инфе об ООП или ява, меня просто кидает в сон. Ничего с собой поделать не могу. Уже раза 3 пытался научится программировать на яве.
А вот когда открываю исходы какой-нибудь сборки, а до этого у меня в башке какая-то идея проснулась, так и рвёт меня на части, пока не разберусь, что и как.
Могу по 7-8 часов сидеть за кодом и разбираться Big Grin
Когда код живой, то есть, результаты которого я вижу в любимой игре, это придаёт сил, иначе никак не получается Smile


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, ещё не очень понял, но буду разбираться, благдарствую.
Ответ
#12
пример

П.С. в прошлом примере допустил ошибку, данный метод не принимает примитивы(

Добавлено через 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]
Ответ
#13
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]

На самом деле, очень благодарен за внимание. На сегодня уже, наверное, всё, но у меня ещё завтра целый день на это дело Smile
Ответ
#14
используем библиотеку: 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]
Ответ
#15
А не проще использовать списки, а не массивы?)
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#16
Zubastic Написал:А не проще использовать списки, а не массивы?)

тогда ТСу нужно будет еще переделывать се предметы, а так же их механизмы, а он пока зеленый как видно.
Ответ
#17
Ну для меня список это тот же массив, только лишен недостатков, вроде индексов и тд.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#18
Могу посоветовать ТСу если его кидает в сон от ООП , учится и по ходу дела ставить себе задачи по той или иной теме которою проходит.Работая с чужим кодом , ничего не понять.
По листам отдельный :obamafacepalm: Товарищи да вы упороты.
Ответ
#19
Вчера ночью с товарищем 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, после чего всё и заработало, урааа! Smile

Вывод:
1) находить интегер из фастлиста я научился сам
[SRC="java"]if (лист_нэйм.contains(Integer.valueOf(интЭгер)))
{[/SRC]
2) переводить фаст лист в массив я не научился, но подсказка внесла ясность, что далеко на примитивных знаниях не уедешь Big Grin

Так же соглашусь с товарищем Deazer, что-то такое в голове последние дни и крутилось.

Всем спасибо, вопросы решены, тему можно закрывать.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)