Привести X к Y.getClass () - PullRequest
0 голосов
/ 04 июня 2019

У меня есть много методов (3 для этого примера), которые выполняют одну и ту же процедуру. Я бы сделал для них общий метод, чтобы он выглядел чистым, но у меня проблемы с кастингом.

Мои 3 метода:

private void GetBeds(JSONObject deepSearchResults, Property p) {

        Object beds = Find_Key(deepSearchResults, "bedrooms");

        if (beds != null)
            p.beds = (Long) beds;
    }

    private void GetBaths(JSONObject deepSearchResults, Property p) {

        Object baths = Find_Key(deepSearchResults, "bathrooms");

        if (baths != null)
            p.baths = (double) baths;
    }

    private void GetRegion(JSONObject deepSearchResults, Property p) {

        Object region = Find_Key(deepSearchResults, "name");

        if (region != null)
            p.region = (String) region;
    }

Я хотел бы вызвать один метод и очистить много повторяющегося кода. Это будет выглядеть примерно так:

 private void FillData(JSONObject deepSearchResults, Object o, String searchTerm) {

        Object response = Find_Key(deepSearchResults, searchTerm);

        if (response != null)
            o = (o.getClass()) response; //error "Not a statement"
    }

и я бы назвал FillData(...) как:

 FillData(deepSearchResults,(Object)p.baths,"bathrooms");

Но я не думаю, что правильно использую getClass(). Как мне программно привести response к типу o во время выполнения?

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