2015-04-20 2 views
-2

Зачем кому-то инициализировать объект = -1?Инициализирующий объект

int index = -1; 

Мы используем этот код для поиска объекта в массиве. например.

for(int i = 0; i < bArrayList.size(); i++) { 
    if (bAcc == bArrayList.get(i).getANum()) { 
    index = i; 
    } 
} 
+9

-1 - это значение по умолчанию, которое вы возвращаете для индекса, если объект, который вы ищете в списке или массиве, не найден. Так как индексы действительны, начиная с 0 до [числа элементов - 1], если возвращается -1, вы знаете, что элемент не найден. – Stultuske

+4

Возможный дубликат [Is -1 волшебное число? Анти-шаблон? Запах кода? Цитаты и рекомендации от властей] (http://stackoverflow.com/questions/3031975/is-1-a-magic-number-an-anti-pattern-a-code-smell-quotes-and-guidelines-from) –

+1

Не указывайте примитивную переменную типа данных в java-объекте. Это вводит в заблуждение. –

ответ

1

С int вы не можете установить его в null. Люди обычно используют -1 для представления нулевого или ничего не найденного взамен. Они делают это, потому что, когда вы делаете петлю через вещи, она начинается с 0 не 1.

Например, скажем, у вас есть функция, чтобы получить индекс определенного элемента в массиве. Если массив не имеет того, что вы ищете, то возвращает 0 представляет индекс: 0, и вы не можете вернуть значение null, потому что оно является целым числом, поэтому вместо этого вы должны вернуть -1.

Смежные вопросы