ppgjx 发表于 2022-5-4 23:04

java请教

Map<String,List<String>> udidMap = new HashMap<>();
这种怎么进行get呢?
udidMap.get("123") 他是个obj 不是List<String>

leitianyu999 发表于 2022-5-4 23:11

你可以强转

一个问题丶 发表于 2022-5-4 23:13

public static void main(String[] args){

      Map<String,List<String>> udidMap = new HashMap<>();
      List<String> strings = udidMap.get("123");
      System.out.println(strings);
    }

sifan785622020 发表于 2022-5-4 23:14

获取出来就是 List<String>,不是obj呀
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Demo {
    public static void main(String[] args) {
      Map<String, List<String>> map = new HashMap<>();
      map.put("1", Arrays.asList("1", "2", "3"));
      map.put("2", Arrays.asList("4", "5", "6"));
      List<String> list = map.get("1");
      System.out.println(list);
    }
}

你运行一下试试

xiaodai_568 发表于 2022-5-4 23:58

本帖最后由 xiaodai_568 于 2022-5-4 23:59 编辑

Map<String, List<String>> udidMap = new HashMap<>();
      udidMap.putAll(new HashMap<>() {{
            put("123", new ArrayList<>() {{
                add("123");
            }});
      }});
      List<String> list = udidMap.get("123");

bj9ye666 发表于 2022-5-5 00:00

感谢我要做码农

霍大爷来玩破解 发表于 2022-5-5 08:12

强转就行。前提转换类型匹配,否则报类转换错误

逝去的初夏c 发表于 2022-5-5 08:34

你前提给的泛型已经是List<String>了 所以get出来的必定是List<String> Idea环境下 直接.var Tab一下即可

xiadongming 发表于 2022-5-5 08:46

meiwan123 发表于 2022-5-5 09:04

你map里面装的是那个类型 你返回的就是哪个类型你这个很明细返回的就是List<String>,你用快捷键返回一下,楼主应该是刚学习java吧
页: [1] 2
查看完整版本: java请教