Java проверка на null

263
29 мая 2018, 02:40

Имеется класс City, в которой передаются параметры при создание экземпляра класса.

Некоторые экземпляры имеют значения null. Нужно вернуть строку, состоящие из свойств класса, через запятую, но чтобы при этом отсутствовали свойства, имеющие значение Null.

public class City {
    public int id;
    public String region;
    public String autonom;
    public String area;
    public String city;
    public String city_2;
    public City(int id, String region, String autonom, String area, String city, String city_2){
        this.id = id;
        this.region = region;
        this.autonom = autonom;
        this.area = area;
        this.city = city;
        this.city_2 = city_2;
    }
    public int getId() {
        return id;
    }
    public String getTitle() {
        ArrayList<String> arrayList = new ArrayList<>();
        String title = "";
        if (region!=null) {
            arrayList.add(region);
        }
        if (autonom!=null) {
            arrayList.add(autonom);
        }
        if (area!=null) {
            arrayList.add(area);
        }
        if (city!=null) {
            arrayList.add(city);
        }
        if (city_2!=null) {
            arrayList.add(city_2);
        }
        for (int i = 0; i < arrayList.size(); i++) {
            title += arrayList.get(i);
            if (i < arrayList.size() - 1) {
                title += ", ";
            }
        }
        return title;
    }
}

Создаем экземпляр класса:

City city1 = new City(id, region, autonom, area, city, city_2);
 Log.e("Opa",city1.getTitle());

В итоге в Log проходят null:

E/Opa: Алтайский край, null, Ребрихинский район, Усть-Мосиха, null
       Амурская область, null, Свободненский район, Москвитино, null
       Архангельская область, null, Мезенский район, Мосеево, null
       Астраханская область, null, Камызякский район, Самосделка, null
       Брянская область, null, Почепский район, Московский, null
       Владимирская область, null, null, Владимир, Мостострой
       Волгоградская область, null, Октябрьский район, Громославка, null
       Волгоградская область, null, Серафимовичский район, Мостовский, null
       Волгоградская область, null, Чернышковский район, Тормосин, null
E/Opa: Вологодская область, null, Вытегорский район, Анненский Мост, null
       Вологодская область, null, Вытегорский район, Волоков Мост, null
       Вологодская область, null, Тотемский район, Мосеево Мосеевское Поселение, null
       Воронежская область, null, Аннинский район, Мосоловка, null
       Воронежская область, null, Каширский район, Мосальское, null
E/Opa: Воронежская область, null, Петропавловский район, Замостье, null

Что я делаю не так? Пытался проверять так:

if(!city.equals(null)){
}

Но потом понял, что у null нету метода equals

Upd Данные приходят из БД c помощью JSON, который потом разбирается.

JSONObject paramCities = cities.getJSONObject(i);
int id = paramCities.getInt("id");
String region = paramCities.getString("region");
String autonom = paramCities.getString("autonom");
String area = paramCities.getString("area");
String city = paramCities.getString("city");
String city_2 = paramCities.getString("city_2");

Может в этом проблема?

Answer 1

Проблема решена. Оказалось, что с MySQL данные null приходят в виде строки

READ ALSO
Не создается структура проекта ItelIiJ IDEA

Не создается структура проекта ItelIiJ IDEA

Каждый раз когда я создаю проект, не создаются некоторые папки из проекта, такие как resource, main, даже когда жму галочку "создать с главным классом"

201
RecyclerView Android

RecyclerView Android

Есть RecyclerView который выводит пубикации загруженные из сервераТак вот среди публикаций есть ВИП публикации у которых Вью оссобенное

213
Пропадает код в Eclipse

Пропадает код в Eclipse

Допустим мой код таков:

190
Не понимаю как найти весовые коэфиценты

Не понимаю как найти весовые коэфиценты

Нашел код на сайте , скопировал и не понимаю как работаетМожете написать алгоритм обучения сети методом обратного распространения ошибки(если...

188