来自JDk的问题
// Prints a frequency table of the words on the command line
public class Frequency {
public static void main(String[] args) {
Map <String, Integer> m = new TreeMap <String, Integer> ();
//上面的我不太明白,JAVA有这样的语法吗?不太常见 ,那是什么意思?
for (String word : args) {
//上面的冒号是什么意思?
Integer freq = m.get(word);
m.put(word, (freq == null ? 1 : freq + 1));
}
System.out.println(m);
}
}
------解决方案--------------------JDK 1.5之后加入的范型编程,也就是和C++的模板是一个效果
那个冒号没用过,看起来还有点像JScript
------解决方案--------------------楼上的楼上正解。
刚刚看过《jdk5.0学习笔记》。
楼主去读书频道看一眼吧。
------解决方案--------------------你说的是在5.0下的情况.
for(declaration:expression)
stsement
就是for/in循环.expression 必须是array或者实现java.lang.Iterable接口的对象,array类型或Iterable元素必须是分配兼容于在declaration中声明的变量类型.for/in的循环变量必须要声明在循环中.和基本的for循环比较,我个人觉得就是写的代码少了,比较方便,但是不能追踪里面的控制变量及相关的问题了.
至于Map在java文档中介绍的是很全的:-)
------解决方案--------------------学习了,