John Jiang

a cup of Java, cheers!
https://github.com/johnshajiang/blog

   :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 1 文章 :: 530 评论 :: 0 Trackbacks
无人使用的Java语言特性
JavaLobby上的一位读者兼作者读了Java十大最无用特性之后,也列出了自己心中无人使用的Java语言特性,大家也可以过来评评...(2009.04.28最后更新)

之前,我在JavaLobby上读了Anthony Goubard的"Java10大最无用的特性"。我同意他的一些选择,但我认为他忽略了一些无人使用的关键特性。我仅将自己限制在语言级特性上(API 太庞大了),下面是另外4个未被使用的Java特性。
4. short数据类型
你在使用它?我不相信。每个人当他想使用整型时,都会使用int,即便他们并不需要32位的范围。

3. 八进制字面量
现在谁会使用八进制数?对于二进制数值,十六进制会更加方便。更糟糕的是,以0开头的八进制字面量会令人困惑:
int a = 60;
int b = 060;
System.out.println(a + b); // Prints 108.

2. 局部类
Java有4种内部类,其中的3种被广泛使用。如同静态内部类,命名的内部类,以及匿名内部类,你也可以在方法内部定义命名的类,尽管在现实中很少看到这一情况。
public class TopLevelClass
{
    public void someMethod()
    {
        class LocalClass
        {
            // Some fields and methods here.
        }
 
        LocalClass forLocalPeople = new LocalClass();
    }
}

1. 严格的浮点数
也许在某个地方,Java的strictfp关键字对某个程序员十分重要,但我还没遇到过他/她。如果你知道如何使用strictfp,你可能就是前5% 的Java程序员了。如果你还不知道strictfp,你该看看这儿,欢迎进入前5%的行列。但基本上有必要先确定你的计算在所有平台下都是错误的。

posted on 2009-04-28 22:24 John Jiang 阅读(1698) 评论(7)  编辑  收藏 所属分类: Java翻译

评论

# re: 无人使用的Java语言特性(译) 2009-04-29 09:53 逝水fox
short还是有用的咯
JDK1.5新加的静态导入用的人多吗  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-04-29 17:12 failure
JDK1.5新加的静态导入
这个没用过,也没见到用的  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-04-29 21:17 Sha Jiang
静态导入应该还是有不少人在使用的。

JDK 5几大语言新特性中的Auto-boxing,static import,enhanced for-loop,我都比较少用。
我觉得Auto-boxing和static import过于偷懒了,影响对代码的阅读。
Joshua Bloch比较推荐enhanced for-loop。而我自己,对于List这类的容器,喜欢自己写一个传统的for-loop去遍历;对于Map之类的容器,我则会使用enhanced for-loop。因为我不喜欢使用Iterator去做遍历,而Set和Map都要使用迭代器。
我最喜欢的JDK 5新特性就是Generics,尽量有时候它也很boring *_*  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-05-03 16:14 a先生
静态导入是垃圾
使用它容易产生混淆,用它的人纯属无聊  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-05-03 17:03 Sha Jiang
> 静态导入是垃圾
> 使用它容易产生混淆,用它的人纯属无聊
嘿嘿,也不必如此极端吧 ;-)  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-05-14 18:10 lyo
范型 也不过就是心理作用而已, 生成后的class 是没有任何变化的  回复  更多评论
  

# re: 无人使用的Java语言特性(译) 2009-05-14 21:56 Sha Jiang
> 范型 也不过就是心理作用而已, 生成后的class 是没有任何变化的
绝不是心理作用。
Generics的作用主要就是在compile-time,而非runtime。
Generics就是希望能够在早期由编译器发现程序中可能的类型不匹配问题,而不是到了运行时,才去抛ClassCaseException。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: