Один из вариантов - использовать Google Gson.
import java.util.ArrayList; import java.util.List; import com.google.gson.Gson;
class Project {
private int year = 1987;
private String name = "ROBOCOP-1";
private boolean active = false;
private List<String> list = new ArrayList<String>() {
{
add("PROTECT THE INNOCENT");
add("UPHOLD THE LAW");
add("SERVE THE PUBLIC TRUST");
add("CLASSIFIED");
}
};
}
public class GsonExample {
public static void main(String[] args) {
Project obj = new Project();
Gson gson = new Gson();
String json = gson.toJson(obj);
System.out.println(gson.toJson(obj));
}
}
Используйте свободный интерфейс
class multipleActionClass
{
chooseIndex(index) {
this.currentIndex=index;
return this;
}
setValue(value) {
console.log(`set value ${value} at index ${this.currentIndex}`);
// this.index[this.currentIndex].setValue(value) ...
return this;
}
}
let multipleActionObject = new multipleActionClass();
multipleActionObject.chooseIndex(1).setValue(2);
Вы можете назначить chooseIndex
свойству index
экземпляра, а затем вернуть экземпляр, а затем setValue
просмотреть индекс, который был присвоен:
[114 ]
class multipleActionObject {
constructor(arr) {
this.arr = arr;
}
chooseIndex(index) {
this._index = index;
return this;
}
setValue(value) {
if (typeof this._index !== 'number') {
throw new Error('No index to set value of');
}
this.arr[this._index] = value;
return this;
}
}
const instance = new multipleActionObject([0, 1, 2, 3]);
instance.chooseIndex(4).setValue(10);
console.log(instance.arr[4]);
Это называется «цепочкой методов», хотя здесь кажется немного странным отделять выбранный элемент от действия, выполняемого над этим объектом. [ 118]