获取泛型数组而不是类路径中的对象的值



我有一个存储其他对象的泛型数组类。当我尝试从泛型数组中获取对象值时,它会打印插入对象的类路径。如何访问该值?

public class Shop implements Initializable {
    @FXML private TextField name;
    @FXML private TextField quantity;
    @FXML private TextArea list;
    MyArrayList<Item> array = new MyArrayList<>();
    @Override
    public void initialize(URL location, ResourceBundle resources) {
    }
    @FXML
    private void addItem() {
        int q = Integer.parseInt(quantity.getText());
        String n = name.getText();
        Item item = new Item(n,q);
        MyArrayList.getInstance().add(item);
        System.out.println(MyArrayList.getInstance().getItem(0));
        //Outputs sample.Item@1674184b instead of the value Banana.
    }

所以你要把一个整数和一个字符串放到项目中?MyArrayList.getInstance((.getItem(0(.getName(( 或MyArrayList.getInstance((.getItem(0(.getQuantity((应该打印出你放的值。

如果您没有 get 方法创建它们,或者如果字段是公共的,您可以直接访问它们。

U 可能想要覆盖 toString(( 方法,如果你想从列出的类中获取所有值,比如。

 @Overwrite
public String toString(){
    return name + "," + quantity;
}

并打电话

System.out.println(MyArrayList.getInstance().getItem(0).toString());

最新更新