2015-03-29 2 views
-3

, имеющий проблему проверки нулевого элемента в массиве String.Оператор == не определен для типа (ов) аргумента

Оператор == не определен для типа аргумента (ов) Int, нуль-

onCreateView

private String[] FilePathStrings; 
private File[] listFile; 

.... 
    listFile = file.listFiles(); 

    FilePathStrings = new String[listFile.length]; 


if(listFile.length == null){ 

       // Do Something 

       }else { 

        // Do Something 
       } 

ответ

1

int не может быть по сравнению с null, который является нулевой ссылкой на объект. Вместо этого сравните с нулем.

0

int никогда не может быть нулевым, поскольку он является примитивным, а не объектом. Рассмотрим вместо этого проверку == 0.

Для получения дополнительной информации о примитивных типов в Java и их значения по умолчанию, вы можете посмотреть в документации, показанной здесь https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

0

длина на массив listFile.length возвращает целое число (int) элементарное значение типа данных, и что никогда не может быть пустым (Это не объект, который должен быть пустым). Поэтому вы никогда не можете использовать оператор == для сравнения значения int с null, поскольку примитивные типы данных никогда не могут быть нулевыми и присваиваются значениям по умолчанию, а в случае int - 0.

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