Я использовал и расширил классы, где имя выглядит как ArrayAdapter<String>
или HashMap<String, String>
, но как реализовать тип внутри <>
самостоятельно? Например, у меня есть класс, который в настоящее время используется для хранения данных обратного вызова. Это выглядит как:
static class APICallback {
boolean status;
JsonObject data;
}
Есть ли способ для меня реализовать это, чтобы я мог кодировать что-то вроде APICallback<List<String>>
и знать, что поле данных будет List<String>
vs JsonObject
?
Ваш класс должен быть родовым типом:
Например:
static class APICallback<T> {
boolean status;
T data;
}
Если я понимаю ваш вопрос, вы хотите узнать об общих типах (из ссылки), общий тип - это общий класс или интерфейс, который параметризуется по типам. Один из возможных способов сделать ваш общий родословный
static class APICallback<T> {
boolean status;
JsonObject data;
List<T> al;
}