0%

鲜为人知的但很有用的Java类

作者:Dustin Marx 发表日期:Fri, 03/02/2012 - 23:10.

Reddit Java网站最近有一个题目为“分享Java标准类库中一些有用的类”的讨论话题,注解栏为“有很多平常我们没有认识到的类,分享一些你经常使用而我们可能没有意识到的类吧!”。在这篇文章中,我看到下面回复超过40的一些类(大部分是JDK中的)。

有一些回复者分享的是与并发相关的Java类,如 Executors, java.util.concurrent.CountDownLatch, java.util.concurrent.atomic.AtomicInteger, ThreadLocal, java.util.concurrent 以及包下的所有类以及java.util.concurrent.atomic.

还有一些与 String 处理相关的类也被提到了,包括 StringBuffer, 和StringBuilder. 我在博文 String, StringBuffer, and StringBuilder: There Is A Performance Difference 中也提到了这些与String相关的类。其他与String相关并被提到的包括java.util.StringTokenizerApache Commons‘ StringUtils (在我的文章 Checking for Null or Empty or White Space Only String in Java中也有提到). java.util.Scanner 类也可以让简化文本解析。

在用户界面上, java.awt.geom 包, java.awt.Desktop 以及javax.swing.SwingUtilities被提到。 java.awt.Point 被高亮显示,原因总结为:”任何两个int值对可以很简单的被用来代替数组传递给函数,或者从函数中返回,都可以使用Point类”。java.awt.Robot 类也在文中被提到,我之前也在我的一篇文章Screen Snapshots with Java’s Robot 中提到。

不出所料,一些Java集合类也在列在其中。包括 java.util.EnumSetEnumMap (参考我的文章The Sleek EnumMap and EnumSet), java.util.ArrayDeque (参考我的文章The Java SE 6 Deque), java.util.PriorityQueue,java.util.Arrays, 以及 java.util.Collections (参考我的文章 The Java Collections Class).

以我之见,java.lang.ClassLoader, java.util.ServiceLoaderjava.nio.file.FileVisitor 是Reddit Java话题中提到的更精心构思和特别的类。我们大部分的情况下都是用强引用(strong reference),但java.lang.ref.WeakReference (弱引用)和 java.lang.ref.SoftReference (软引用)也在讨论中被提到。

最后,我经常使用的一个类和一个方法分别是 BigDecimal 类(我的一边文章中顺便提到了该类: Caution: Double to BigDecimal in Java )和 System.nanoTime()

结论:

我喜欢列表中的很多类,也能想到一些其他的例子。特别的,我想JDK7中的 Objects 类也能称得上很有用但鲜为人知的一个类把。我同样同意其中一个评论的说法:“把Google guava库添加进来吧!”,我也写过一些博文关于 Guava

原文:http://marxsoftware.blogspot.com/

翻译自:http://www.javaworld.com/community/node/8335