将对象的类型更改为我在Java中创建的类型

时间:2018-09-11 15:35:42

标签: java

我在名为shoppingList的主类中管理杂货清单,并且创建了一个名为Product的新类来处理String(我在产品和Product I类中获得了一个充满数据的字符串。使用.split(";")和数组按需排列数据。

在主类shoppingList上,有一个名为addProduct的方法需要执行,该方法得到一个String。如何将这个String更改为Product类型,以便可以将此产品添加到一系列产品(products[currentNumOfProducts-1] = productLine)中?

谢谢!

public class Product {
    private String type;
    private double price;
    private int id;
    private String manifactor;
    private ExtraData extraData;

    public Product(String item) {
        String[] parts = item.split(",");
        type = parts[0];
        type = parts[1];
        switch (type) {
            case "ElectricProduct":
                extraData = new ElctricExtraData(item);
                break;
            case "Book":
                extraData = new BookExtraData(item);
                break;
        ...

这是产品类-和“购物清单”中的方法:

public void addProduct (String productLine){
                if (curNumOfProducts < products.length) {
                    products[curNumOfProducts - 1] = productLine;
                    curNumOfProducts++;
                }

2 个答案:

答案 0 :(得分:1)

因此,如果您有一个代表产品信息的字符串:

String productInfo = "product;info;here";

您可以将其传递给Product构造函数,以将其转换为Product

Product product = new Product(productInfo); 

原始行

 products[curNumOfProducts - 1] = productLine;

成为

 products[curNumOfProducts - 1] = new Product(productLine); 

答案 1 :(得分:0)

...,转到文件“ ShoppingList.java”并编辑该源代码以改为读取public void addProduct(Product product) {

如果您无法更改该文件,那么您将无法执行的操作;那不是java的工作方式。