
1 hcymk2 2014 年 9 月 4 日 LZ 你旁边有java语法书么? |
5 buptlee OP @hcymk2 class Node implements Comparable<Node>{ Integer imsi; Integer dist; public int compareTo(Node s){ return dist.compareTo(s.getDist()); } public Node(){ imsi = -1; dist = Integer.MAX_VALUE; } public Node(Integer imsiNo,int distance){ imsi = imsiNo; dist = distance; } public int getDist(){ return dist; } public Integer getImsi(){ return imsi; } public void setImsi(Integer _imsi){ imsi = _imsi; } } |
6 hcymk2 2014 年 9 月 4 日 把== 都改成equals()先 |
7 davepkxxx 2014 年 9 月 4 日 out: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (j == 5) { continue out; } } } |
8 buptlee OP |
9 buptlee OP 您说的是continue的go to 用法是吧,不是这个问题啦,continue还是 终止的是最内层循环。是我数据类型弄错了,不过java这点也太tricky了吧。 |
10 hcymk2 2014 年 9 月 4 日 那个等于,对刚接触java,而有其他语言经验的人来说有时确实是个坑,没办法的事情。 |
11 buptlee OP 嗯,thanks。一不小心就没注意这点,equals()会把两个参数进行类型转换之后再比较是吗? |
12 ioth 2014 年 9 月 4 日 java很强大的,不要内存管理,不要指针,但是类型是强类型。 还得要N多包包,果然是开发智能硬件的利器. |
13 hcymk2 2014 年 9 月 4 日 @buptlee equals() 在Object 里面是直接return (this == obj); 其他的子类一般都会重写这个方法 ,就看是怎么重写的了。 像Integer 就是 if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; |
17 ioth 2014 年 9 月 4 日 java风格喜欢用函数,不喜欢操作符,所谓封装好。 |
19 davepkxxx 2014 年 9 月 4 日 如果想避免写java常犯的错误,建议买一本Effective Java看看。 |
21 ofisheye315 2014 年 9 月 5 日 多层循环中使用break/continue 推荐用标记 outer:for(int i = 0; i < 10; i++) { inner:while(flag){ //do sth continue outer; } } |
23 buptlee OP @ofisheye315 又学到一招,简直不谈,。 |