我有一个名为“ classroom”的类,我想用classroom.setMaterias(Arraylist)
发送一个数组列表。这是代码吗?
Class Clasroom
public class Aula implements java.io.Serializable {
private String nombre;
private String grupo;
private int tutor;
ArrayList<String> materias = new ArrayList<String>(); // ¿How create arraylist?
public Aula() {
// Constructor
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
例如,我想知道是否可以通过SET发送一个“数组列表”,然后使之前在我的班级“教室”中创建的“数组列表”完全相同
我不知道如何创建arraylist或set或get方法。你能帮我吗?
PD:这是我正在谈论的JSON ARRAY:
if (obj.has("materias")) {
JSONArray materias = obj.getJSONArray("materias");
datos.setArrayList(materias);
// System.out.println(materias); // ["DWES","DWEC","IW","DAW","IE"]
答案 0 :(得分:0)
Class Clasroom
public class Aula implements java.io.Serializable {
private String nombre;
private String grupo;
private int tutor;
ArrayList<String> materias; // ¿How create arraylist?
public Aula() {
// Constructor
this.setArrayList(new ArrayList<>()); //Here you initialize the arraylist when you create an instance of this class.
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
//Here are the getters and setters.
public ArrayList<String> getList(){
return this.materias;
}
private void setArrayList(ArrayList<String> list){
this.materias = list;
}
答案 1 :(得分:0)
正确的方法是使用getter和setter并使用browser.get()
接口,而不是直接使用string
。
List
您可以使用其他ArrayList<>
方法将条目添加到List<String> materias = Collections.emptyList();
public Aula() {
// Constructor
}
public List<String> getMaterias() {
return materias;
}
public void setMaterias(List<String> materias ) {
this.materias = materias ;
}
public void addMaterias(String materia) {
materias.add(materia);
}
。
答案 2 :(得分:0)
public class Aula implements java.io.Serializable {
private List<String> materia = new ArrayList<>();
...
public void setMateria1(final List<String> aMateria) {
this.materia = aMateria;
}
public void setMateria2(final List<String> aMateria) {
this.materia.clean();
this.materia.addAll(aMateria);
}
}
setMateria1()
用给定的参数替换列表,因此稍后对一个进行的任何更改(项目的EG删除)都会反映在另一个中。
setMateria2()
复制自变量的项目时,因此将其删除或插入不会更改其他项目。
ArrayList
也是接口List
的具体实现。最好将变量声明为基类或接口,而不是具体的实现。
答案 3 :(得分:0)
public class Aula implements java.io.Serializable {
ArrayList<String> materias = new ArrayList<String>();
...
public ArrayList<String> getMaterias(){
return materias;
}
public void setMaterias(JSONList materias) throws JSONException {
materias.clear();
for(int i=0;i<materias.length();i++)
this.materias.add(materias.getString(i));
}
}
并将完全相同的代码放入课堂课。
第二种方法是在构造函数中设置列表:
public class Aula implements java.io.Serializable {
ArrayList<String> materias = new ArrayLis<>();
...
public Aula(JSONList materias) throws JSONException {
for(int i=0;i<materias.length();i++)
this.materias.add(materias.getString(i));
}
public ArrayList<String> getMaterias(){
return materias;
}
}
与教室相同。并且比您创建它们例如。
Aula aula = new Aula(materias);
Classroom classroom = new Classroom(materias);
这是假设您的列表中有字符串。否则,取决于列表中的数据。 如果它包含其他列表,则需要合并或跳过它们,依此类推...
如果json并不是所有的Strings(例如具有子列表和对象),并且它应该与json的实际结构匹配,我也需要该结构,并且很可能Strings Arraylist可能是此类json的错误容器-树。
顺便说一句。最好将教室更改为Classroom(班级名称为大写C)...