在下面的代码中,以下行的含义是什么?
m.put(alpha, l=new ArrayList<String>());
代码(用于查找Anagrams):
try {
Scanner s = new Scanner(new File(args[0]));
while (s.hasNext()) {
String word = s.next();
String alpha = alphabetize(word);
List<String> l = m.get(alpha);
if (l == null)
m.put(alpha, l=new ArrayList<String>());
l.add(word);
}
} catch (IOException e) {
System.err.println(e);
System.exit(1);
}
答案 0 :(得分:3)
部分
m.put(alpha, l=new ArrayList<String>());
也可以写成
l=new ArrayList<String>();
m.put(alpha, l);
赋值返回指定的值,这就是代码工作的原因。