Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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 S3上传用户元数据字符串列表_Java_List_Amazon Web Services_Amazon S3_Metadata - Fatal编程技术网

Java S3上传用户元数据字符串列表

Java S3上传用户元数据字符串列表,java,list,amazon-web-services,amazon-s3,metadata,Java,List,Amazon Web Services,Amazon S3,Metadata,我目前正在用Java进行S3上传,我将向文件中添加一组用户元数据。我正在尝试理解,如果我可以将字符串列表添加到用户元数据中的一个参数中 我当前的代码片段如下所示- ObjectMetadata objectMetadata = new ObjectMetadata(); Map<String, Object> userMetadata = new HashMap<String, Object>(); userMetadata.put("a", "a1"); userM

我目前正在用Java进行S3上传,我将向文件中添加一组用户元数据。我正在尝试理解,如果我可以将字符串列表添加到用户元数据中的一个参数中

我当前的代码片段如下所示-

ObjectMetadata objectMetadata = new ObjectMetadata();

Map<String, Object> userMetadata = new HashMap<String, Object>();

userMetadata.put("a", "a1");
userMetadata.put("b", "b1");

List<String> c = new ArrayList<String>();
c.add("c1");
c.add("c2");
userMetadata.put("c", c);

objectMetadata.setUserMetadata(userMetadata);
ObjectMetadata ObjectMetadata=new ObjectMetadata();
Map userMetadata=newhashmap();
userMetadata.put(“a”、“a1”);
userMetadata.put(“b”、“b1”);
列表c=新的ArrayList();
c、 添加(“c1”);
c、 添加(“c2”);
userMetadata.put(“c”,c);
objectMetadata.setUserMetadata(userMetadata);
但是,我在“objectMetadata.setUserMetadata(userMetadata);”行中遇到编译时错误,

采用
映射,而不是像您这样的
映射,因此您不能直接在那里使用列表。例如,您可以加入它:

Map<String, String> userMetadata = new HashMap<>(); // Note the type!

userMetadata.put("a", "a1");
userMetadata.put("b", "b1");

List<String> c = new ArrayList<>();
c.add("c1");
c.add("c2");
userMetadata.put("c", String.join(",", c); // list is joined when added to the map

objectMetadata.setUserMetadata(userMetadata);
Map userMetadata=newhashmap();//注意类型!
userMetadata.put(“a”、“a1”);
userMetadata.put(“b”、“b1”);
列表c=新的ArrayList();
c、 添加(“c1”);
c、 添加(“c2”);
userMetadata.put(“c”,String.join(“,”,c);//列表在添加到映射时被连接
objectMetadata.setUserMetadata(userMetadata);
采用的是
地图
,而不是像您这样的
地图
,因此您不能直接在那里使用列表。例如,您可以加入它:

Map<String, String> userMetadata = new HashMap<>(); // Note the type!

userMetadata.put("a", "a1");
userMetadata.put("b", "b1");

List<String> c = new ArrayList<>();
c.add("c1");
c.add("c2");
userMetadata.put("c", String.join(",", c); // list is joined when added to the map

objectMetadata.setUserMetadata(userMetadata);
Map userMetadata=newhashmap();//注意类型!
userMetadata.put(“a”、“a1”);
userMetadata.put(“b”、“b1”);
列表c=新的ArrayList();
c、 添加(“c1”);
c、 添加(“c2”);
userMetadata.put(“c”,String.join(“,”,c);//列表在添加到映射时被连接
objectMetadata.setUserMetadata(userMetadata);

您得到的编译时错误是什么?根据,该方法需要一个
映射
而不是一个
映射
,就像您试图通过的那样。您得到的编译时错误是什么?根据该方法需要一个
映射
,而不是一个
映射
,就像您试图通过的那样