1 hcymk2 2014-09-04 09:57:57 +08:00 ![]() 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-09-04 10:34:03 +08:00 ![]() 把== 都改成equals()先 |
![]() | 7 davepkxxx 2014-09-04 10:34:50 +08:00 ![]() 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-09-04 10:50:58 +08:00 ![]() 那个等于,对刚接触java,而有其他语言经验的人来说有时确实是个坑,没办法的事情。 |
![]() | 11 buptlee OP 嗯,thanks。一不小心就没注意这点,equals()会把两个参数进行类型转换之后再比较是吗? |
![]() | 12 ioth 2014-09-04 11:22:45 +08:00 ![]() java很强大的,不要内存管理,不要指针,但是类型是强类型。 还得要N多包包,果然是开发智能硬件的利器. |
13 hcymk2 2014-09-04 11:32:30 +08:00 ![]() @buptlee equals() 在Object 里面是直接return (this == obj); 其他的子类一般都会重写这个方法 ,就看是怎么重写的了。 像Integer 就是 if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; |
![]() | 17 ioth 2014-09-04 11:43:32 +08:00 ![]() java风格喜欢用函数,不喜欢操作符,所谓封装好。 |
![]() | 19 davepkxxx 2014-09-04 13:03:10 +08:00 ![]() 如果想避免写java常犯的错误,建议买一本Effective Java看看。 |
21 ofisheye315 2014-09-05 08:55:39 +08:00 ![]() 多层循环中使用break/continue 推荐用标记 outer:for(int i = 0; i < 10; i++) { inner:while(flag){ //do sth continue outer; } } |
![]() | 23 buptlee OP @ofisheye315 又学到一招,简直不谈,。 |