Как я могу привести модифицированный объект к другому объекту своего подкласса? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть суперкласс POJO с несколькими подклассами. Я получаю экземпляр этого суперкласса с помощью Retrofit. Затем я проверяю, какой из подклассов является экземпляром этого экземпляра. Но я не могу привести этот объект к своему подклассу. Как мне решить эту проблему?

public class Letter{
   //constuctor
   //getters and setter
}

public class A{
   //constructor with super()
}

public class B{
   //constructor with super()
}

// on my Retrofit interface
@GET("path")
Call<Letter> getLetter()

// on my activity class
Call<Letter> call = service.getLetter();
call.enqueue(new Callback<Joke>() {
        @Override
        public void onResponse(Call<Letter> call, Response<Letter> response) {

            Letter letter = response.body()

            if(letter instanceof A){   // instanceof wont work, so i used other ways
                A = (A) letter;
            }
            else if (letter instance of B){
                B = (B) letter;
            }
        }

});
...