精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-23
hellojinjie 写道 guooscar 写道 switch 会更快一点
字符串不能用 switch 的啊 呵呵,看报道说1.7里面好像可以用string了,期待下 |
|
返回顶楼 | |
发表时间:2010-02-23
没代码,啥都是盲目的
|
|
返回顶楼 | |
发表时间:2010-02-23
JDK7才开始支持switch中字符串
|
|
返回顶楼 | |
发表时间:2010-02-23
在性能能够接受的情况下。可读性和可扩展是第一位的。
|
|
返回顶楼 | |
发表时间:2010-02-23
硬件发展得这么强大了。。。代码的可读性早就放第一位了。。。
|
|
返回顶楼 | |
发表时间:2010-02-23
这种if .. else ..if,考虑索引、Hash啊。
转换为HashSet处理试试 |
|
返回顶楼 | |
发表时间:2010-02-23
多不年了,Http协议都没变过,这个数量是固定的,直接用if-else if一点问题都没有,出发点要从扩展性要考虑.这个级别上性能考虑没多大意义 。
业务代码中,如果很有可能要扩展,那么反射带来的好处太大了,无敌的扩展性,对未知类的执行. 记着从扩展性出发。可读性,因为是框架内部实现,如果可读性不太好,但扩展性带来的好处也可以把可读性差的损失换回来. |
|
返回顶楼 | |
发表时间:2010-02-23
有的时候从软件后期维护角度考虑牺牲一些性能是再所难免的。
就象现在很多人都喜欢用spring和hibernate一样。 要的就是开发、维护方便 |
|
返回顶楼 | |
发表时间:2010-02-23
如果真的在意反射invoke性能,建议采用下面方式可以避免else if的问题
初始化时构造一个map(注意只需一次),map的key为method name, value为一个函数对象,如 : Runnable method = new Runnable() { public void run() { method(); } }; |
|
返回顶楼 | |
发表时间:2010-02-23
Map<String, Integer>
switch (map.get(key)) |
|
返回顶楼 | |