Ignacio Coloma
说道:作为一个软件开发者,缺乏想象力是最严重的罪过之一。我们经常把事情重复做一遍又一遍,但是我们很少改变这种方式,至少我是这样。经过这些年开发,在我的工具箱里面有了一些每个项目我都需要用到的工具,烦人的重复工作不再是我的事。
下面这些工具也许你已经用到,让我来仔细介绍它们:
Lack of imagination is one of our worst sins as software developers. We
do the same things over and over again, but we rarely modify our ways:
me at least. After some years, these are the tools that made it into my
tricks box for everyday tasks. Tiresome operations are not my thing.
Chances are you are already using at least some of these, but here we go anyways:
StringUtils
这是象面包和奶油一样必须的通用语言库,这个实用工具类包括一些很早以前在String中未包含的重要方法。
StringUtils.isEmpty(null) && StringUtils.isEmpty(""); // true
StringUtils.isBlank(" \n\t"); // true
StringUtils.substringAfterLast("foo.bar.baz", "."); // "baz"
StringUtils.substringBeforeLast("foo.bar.baz", "."); // "foo.bar"
StringUtils.split("foo.bar.baz", '.'); // { "foo", "bar", "baz" }
StringUtils.split("foo, bar,baz", ", "); // { "foo", "bar", "baz" }
StringUtils.leftPad("1", 3, '0'); // "001"
IOUtils and FileUtils
在一种当你需要手动操作多个文件罕见情况下必须具备的工具,这两个工具很相似(FileUtils操作文件,IOUtils操作InputStream和Reader classes),和捆绑常用IO.
A
must-have for the rare occasions where you need to manipulate files by
hand. Both are pretty much alike (FileUtils for File, IOUtils for
InputStream and Reader classes) and come bundled in commons-io.
File file1;
File file2;
InputStream inputStream;
OutputStream outputStream;
// copy one file into another
FileUtils.copyFile(file1, file2);
IOUtils.copy(inputStream, outputStream);
// read a file into a String
String s1 = FileUtils.readFileToString(file1);
String s2 = IOUtils.toString(inputStream);
// read a file into a list of Strings, one item per line
List<String> l1 = FileUtils.readLines(file1);
List<String> l2 = IOUtils.readLines(inputStream);
// put this in your finally() clause after manipulating streams
IOUtils.closeQuietly(inputStream);
// return the list of xml and text files in the specified folder and any subfolders
Collection<File> c1 = FileUtils.listFiles(file1, { "xml", "txt" }, true);
// copy one folder and its contents into another
FileUtils.copyDirectoryToDirectory(file1, file2);
// delete one folder and its contents
FileUtils.deleteDirectory(file1);
Google collections
这是我所知道的最好的扩展实现包,其中一些被社区叫嚣着要加入JDK:
This is the best implementation of a collections extension that I know of. Some of these are shouting to be included in the JDK:
// create an ArrayList with three arguments
List<String> list = Lists.newArrayList("foo", "bar", "baz");
// notice that there is no generics or class cast,
// and still this line does not generate a warning.
Set<String> s = Sets.newConcurrentHashSet();
// intersect and union are basic features of a Set, if you ask me
Set<String> s = Sets.intersect(s1, s2);
// Example of multiple values in a Map
ListMultimap<String, Validator> validators = new ArrayListMultimap<String, Validator>();
validators.put("save", new RequiredValidator());
validators.put("save", new StringValidator());
validators.put("delete", new NumberValidator());
validators.get("save"); // { RequiredValidator, StringValidator }
validators.get("foo"); // empty List (not null)
validators.values(); // { RequiredValidator, StringValidator, NumberValidator }
java.util.concurrent
不是每个人都需要这么重的java.util.concurrent,但是很好用:
Not everybody needs the heavy lifting of java.util.concurrent, but the concurrent collections are handy:
// a map that may be modified (by the same or different thread) while being iterated
Map<String, Something> repository = new ConcurrentHashMap<String, Something>();
// same with lists. This one is only available with Java 6
List<Something> list = new CopyOnWriteArrayList<Something>();
分享到:
相关推荐
下面将详细介绍30个常用的Java工具类及其功能。 1. **`java.lang.String`**:这是最基础的工具类,用于处理字符串。提供了如`substring()`、`indexOf()`、`equals()`、`trim()`等大量方法。 2. **`java.util....
以下是对标题和描述中提到的一些Java常用工具类的详细讲解: 1. **UUID类**: `java.util.UUID` 是用来生成全局唯一标识符的类。UUID(Universally Unique Identifier)是一种128位的数字,可以确保生成的ID在全球...
在11年的编程生涯中,积累了一系列常用的Java工具类,这些类包含了上百种方法,几乎覆盖了大部分常见的编程场景。下面将详细阐述一些重要的Java工具类及其常用方法。 1. **Apache Commons Lang**: Apache Commons ...
总之,Java工具类是提高开发效率的关键,它们封装了常见的操作,减少了代码重复,提高了代码可读性和维护性。"一些java常用的工具类"可能涵盖了上述的多种功能,为开发者提供了方便快捷的编程体验。通过理解和利用...
1.[工具类] 读取、打印输出、保存xml .java 2.[工具类] Java中计算任意两个日期之间的工作天数 .java 3.[工具类] MD5 .java 4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端...等等20几个常用工具类.
下面我们将详细探讨Java中28个常用的工具类,主要涉及`IO`相关的开发工具。 1. **java.lang.Math**:这个类提供了许多基础数学函数,如求平方根、最大值、最小值、随机数生成等。 2. **java.util.Arrays**:用于...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...
Java工具类是Java编程中非常重要的组成部分,它们提供了一系列预定义的方法,可以帮助开发者高效地处理各种常见任务,而无需从头实现。在Java中,最知名的工具类库是`java.util`包,它包含了大量方便实用的类。下面...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
并且在平时开发中会遇到各种各样通用的一些功能,比如对json的处理,对String对象的处理,对Excel文件的处理,MD5加密处理,Bean对象处理等等,这些常用并通用的方法可以被封装成一个个工具类如StringUtil,...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
在Java编程中,工具类(Util Class)是包含各种实用函数的静态类,它们提供了一种简化常见任务的方法。在给定的`UtilClass`中,我们有五个主要的工具类:`StringUtil`、`FileUtil`、`ConnectDB`、`DateUtil`和`...
精心整理的26个java常用工具类,如:FastJsonUtil,StringHelper,RandomHelper,FileHelper,HttpClientHelper等等,直接使用maven导入到eclipse中使用即可。
以下是对标题"常用的30个Java工具类"中提及的一些工具类及其功能的详细说明: 1. **MD5**: MD5(Message-Digest Algorithm 5)是一种广泛用于数据校验和加密的哈希函数。Java中的`java.security.MessageDigest`类...