java流不';t使用Locale'编译;s方法函数,为什么?
我有这个:java流不';t使用Locale'编译;s方法函数,为什么?,java,collections,java-stream,locale,Java,Collections,Java Stream,Locale,我有这个: Locale locale = new Locale("en", "US", "WIN");//ok System.out.println(locale.getLanguage());//ok Stream<Locale> sl = Stream.of(Locale.getAvailableLocales());//ok Map<String, List<Locale>> map = sl.collect( Collectors.parti
Locale locale = new Locale("en", "US", "WIN");//ok
System.out.println(locale.getLanguage());//ok
Stream<Locale> sl = Stream.of(Locale.getAvailableLocales());//ok
Map<String, List<Locale>> map = sl.collect(
Collectors.partitioningBy(l->l.getLanguage().equals("en")));//error
Locale=newlocale(“en”、“US”、“WIN”)//好啊
System.out.println(locale.getLanguage())//好啊
Stream sl=Stream.of(Locale.getavailablecales())//好啊
Map=sl.collect(
Collectors.partitionby(l->l.getLanguage().equals(“en”))//错误
编译错误:无法解析方法“getLanguage()”
如何解决此问题?如果您试图按语言对区域设置进行分组,请使用
groupingBy
而不是partitioning by
:
Stream<Locale> sl = Stream.of(Locale.getAvailableLocales());
Map<String,List<Locale>> localsPerLanguage = sl.collect(Collectors.groupingBy(Locale::getLanguage));
System.out.println(localsPerLanguage.get("fr"));
Stream sl=Stream.of(Locale.getavailablecales());
Map localsperllanguage=sl.collect(Collectors.groupingBy(Locale::getLanguage));
System.out.println(localsperllanguage.get(“fr”);
您认为分区方法的作用是什么?您认为应该在地图中存储什么?该地图中的值是什么?你为什么这么认为?请参阅:Partitioning By返回一个生成地图的收集器。一句忠告,你最近的许多问题都没有得到很好的回答。我认为他们中很多人缺少的是原因。您转储一段带有错误消息的代码,但从不解释为什么您认为该代码应该工作。有一半的时间,如果你只是问自己这个问题,然后按照线索去做,你就能自己回答这些问题。@Troskyvs:你想要一个键为String
值为“en”、类型为List
值为英语地区列表的地图吗?