недопустимые типы операндов для двоичного оператора '! =' первый тип: второй тип строки: int - PullRequest
0 голосов
/ 05 июня 2018

У меня проблема с отображением, я хотел бы видеть каждый элемент из моей переменной CodeA типа String, которая находится в JComboBox.Переменная CodeA представляет каждую идентификацию из таблицы Album.

В моем DaoAlbumMySql у меня есть сообщение об ошибке ..

неверные типы операндов для двоичного оператора '! =' Первый тип: строка второготип: int

Проблема в соответствии с NetBeans if (idCat != 0)

   public ArrayList <Album> selectAlbums (String idCat)
        {
            ArrayList <Album> myList = new ArrayList();
            String req;

            if (idCat != 0)
            {
                req = "Select CodeA, TitreA, A.IdentC, DenomCat, " +
                " DateArrivee from album A,  " +
                "chanteur C where A.IdentC = C.IdentC" +
                " and CodeA = " + idCat + " order by 1";

            }

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

Не уверены, что вы действительно хотите сделать.На данный момент вы сравниваете строку с целым числом.

Если idCat не должен быть null , тогда вам нужно

if (idCat != null)

Если он не должен null или пусто

if ((idCat != null) && (!idCat.isEmpty())

или последний, если он не должен содержать значение "0"

if (!"0".equals(idCat))
0 голосов
/ 05 июня 2018

Два комментария:

1) Вы не можете сравнивать String с int в Java.Я думаю, что вы пытались обнаружить нулевое значение?В зависимости от версии Java, которую вы используете, вы можете использовать java.lang.Optional в качестве альтернативы предоставленным другим ответам

2) Попробуйте использовать интерфейс вместо классов реализации, когда это возможно ... Здесь,Вы можете заменить много ArrayList в список.

С уважением

0 голосов
/ 05 июня 2018

Здесь две проблемы:

1) Вы пытаетесь сравнить строку с int (0).Вы должны поставить кавычки вокруг него, чтобы сделать сравнение от String до String.

2) Вы сравниваете с !=.Это неправильно сравнивать строки.Сравните с методом .equals() при сравнении Strings

(поскольку вы проверяете (с !=) эталонное сравнение (сравнение адресов) Метод .equals() проверяет сравнение контента.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...