Я пытаюсь реализовать обертку вокруг Java ArrayList
.Он перенаправляет многие вызовы методов, такие как add
, remove
, removeIf
, get
, непосредственно в реализацию ArrayList
.Этот класс Java содержит много шаблонов.
public class JSONArray extends JSONType implements Iterable<JSONType> {
private ArrayList<JSONType> data = new ArrayList<>();
public JSONType get(int i) {
return data.get(i);
}
public JSONArray add(int i, JSONType j) {
data.add(i, j);
return this;
}
public JSONArray add(JSONType j) {
data.add(j);
return this;
}
public JSONArray add(int i, String j) {
data.add(i, new JSONString(j));
return this;
}
public JSONArray add(String j) {
data.add(new JSONString(j));
return this;
}
public JSONArray add(int i, Double j) {
data.add(i, new JSONDouble(j));
return this;
}
public JSONArray add(Double j) {
data.add(new JSONDouble(j));
return this;
}
public JSONArray add(int i, int j) {
return add(i, (double) j);
}
public JSONArray add(int j) {
return add((double) j);
}
public JSONArray add(int i, Boolean j) {
JSONBoolean b = j ? JSONBoolean.True : JSONBoolean.False;
data.add(i, b);
return this;
}
public JSONArray add(Boolean j) {
JSONBoolean b = j ? JSONBoolean.True : JSONBoolean.False;
data.add(b);
return this;
}
public JSONArray addNull(int i) {
data.add(i, JSONNull.Null);
return this;
}
public JSONArray addNull() {
data.add(JSONNull.Null);
return this;
}
Есть ли способ убрать этот шаблонный код в kotlin?