java从数组中获取空输出
我试图打印一个填充了一些对象的数组,结果得到了一个空输出
数组在我的主类中用于范围需求
public class Main {
static ArrayList<Objetos> objetos_inv = new ArrayList<Objetos>();
在另一个类中,我想添加、检索和打印数组及其对象:
public class ModoHistoria {
static Objetos potion = new Objetos("Potion", 20);
public static void modoHistoria(){
for(int i = 0; i < 4; i++){
}
System.out.println(objetos_inv);
}
我的Objetos
类的变量是nombre
和adicion
:
public class Objetos {
static String nombre;
static int adicion;
public Objetos (String nombre, int adicion){
adicion = adicion;
nombre = nombre;
}
public void setNombre (String nombre){
nombre = nombre;
}
@Override
public String toString() {
return nombre;
}
public String getNombre(){
return nombre;
}
public void setAdicion (int adicion){
adicion = adicion;
}
public int getAdicion(){
return adicion;
}
}
输出:
[null, null]
# 1 楼答案
这不会让你的班级成员
adicion
和nombre
是该构造函数的局部。如果要设置对象的成员,需要使用this
:请学习如何使用调试器。您可以在代码运行时逐行检查代码,查看所有值和对象,以了解发生了什么
# 2 楼答案
正如@Stultuske所说,需要
objetos_inv.get(index)
来获取特定的对象,还需要使用class属性来获取想要打印的确切值我准备了一个小演示,帮助您了解如何打印正确的输出
并且同意@MaxVollmer关于设置你的班级成员的回答
# 3 楼答案
首先,在构造函数中初始化静态成员没有任何意义。而是使用静态初始值设定项对其进行初始化,因为这对于类的所有实例都很常见