Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有多种值类型的映射_Java - Fatal编程技术网

Java 具有多种值类型的映射

Java 具有多种值类型的映射,java,Java,我需要重构这段代码,我的问题是需要使用具有多种值类型的映射 目前我使用一个对象作为通用类型, 但是我有不同类型的值列表。 我不知道如何解决这个问题 private Map<String, Object> instanceMap(List<String> myList) { Map<String, Object> map = new HashMap<>(); map.put("Product", ListofProd

我需要重构这段代码,我的问题是需要使用具有多种值类型的映射 目前我使用一个对象作为通用类型, 但是我有不同类型的值列表。 我不知道如何解决这个问题

private Map<String, Object> instanceMap(List<String> myList) {

        Map<String, Object> map = new HashMap<>();
        map.put("Product", ListofProduct);
        map.put("Categorie", ListofCategorie);
        map.put("user", ListofUser);

        return map;
}
私有映射实例映射(列表myList){
Map Map=newhashmap();
地图放置(“产品”,产品列表);
地图放置(“分类”,分类列表);
map.put(“用户”,ListofUser);
返回图;
}

听起来这可能是一个XY问题,您正试图解决一个更大的问题,也许值得作为一个问题来提问

在集合中存储冲突类型是一个标志,您应该考虑重构代码。

评论中提到的一个选项是创建一个单独的类。例如:(在InstanceData.java中)


不要那样做。相反,您可能应该编写一个类。是的,我同意,但是如何编写这个类,我是java初学者。谢谢,那代码以后怎么用?为什么要将其存储在Map中,而不是像
classmydata{包含特定列表、getter/setter等的字段}
这样的指定类中?为什么方法参数从未在方法体中使用?可能重复
public class InstanceData {
    public List<Product> products;
    public List<Category> categories;
    public List<User> users;
}
InstanceData data = new InstanceData();
data.products = ListofProduct;
data.categories = LIstofCategorie;
data.user = ListofUser;