guava是 google 几个java核心类库的集合,包括集合、缓存、原生类型、并发、常用注解、基本字符串操作和I/O等等。 String str=...; //use java if(str !=null && !str.isEmpty()){ //do something }
//use guava if(!Strings.isNullOrEmpty(str)){ //do something }
Java代码 File from=...; File to=...;
//use java FileInputStream in=new FileInputStream(from); FileOutputStream out=new FileOutputStream(to); byte[] buff=new byte[1024]; int readLength=-1; while((readLength = in.read(buff)) > 0){ out.write(buff, 0, readLength); } in.close(); out.close();
//use guava Files.copy(from,to); //注意,只用了一行代码噢
base 基本的工具类与接口 io io流相关的工具类与方法 net 网络地址相关的工具类与方法 primitives 原始类型的工具类 collect 通用集合接口与实现,与其集合相关工具类 util.concurrent 并发相关工具类
Java代码 public class StringsTest { public void test() { //将空字符串转换为null Assert.assertEquals(null, Strings.emptyToNull("")); //将null转换为空字符串 Assert.assertEquals("", Strings.nullToEmpty(null)); //判断字符串为null或者为空 Assert.assertTrue(Strings.isNullOrEmpty("") && Strings.isNullOrEmpty(null)); //将字符串重复 Assert.assertEquals("javajavajava", Strings.repeat("java", 3)); } }
Java代码 public class CharMatcherTest { @Test public void test() { String source = "a1b2c3"; CharMatcher matcher = CharMatcher.DIGIT; //预定义的 DIGIT 类型 Assert.assertTrue(mathcer.match('8')); Assert.assertEquals("123", matcher.retainFrom(source)); Assert.assertEquals(3, matcher.countIn(source)); Assert.assertEquals("abc", matcher.removeFrom(source)); Assert.assertEquals("a2b3c", matcher.trimFrom("1a2b3c4")); } }
Java代码 public class JoinerTest { @Test public void test() { Assert.assertEquals("2011-08-04", Joiner.on("-").join("2011", "08", "04")); } }
Java代码 public class SplitterTest { @Test public void test() { Splitter.on(',').split("a,b"); //结果返回Iterable //将结果中的元素trim //结果依然包含 "a" 和 "b" ,而不是 "a " 和 " b" Splitter.on(',').trimResults().split("a , b"); //忽略空字符串 //结果必须是"a" 和 "b",而不是 "a" ,"" 和 "b" Splitter.on(',').omitEmptyStrings().split("a,,b"); } }
Java代码 public class CaseFormatTest {
@Test public void test() throws IOException { // helloGuava => HELLO_GUAVA Assert.assertEquals("HELLO_GUAVA", CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "helloGuava")); // hello-guava => HelloGuava Assert.assertEquals("HelloGuava", CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, "hello-guava")); } }
Java代码 if (count <= 0) { throw new IllegalArgumentException("must be positive: " + count); }
Java代码 Preconditions.checkArgument(count > 0, "must be positive: %s", count);
Java代码 InputStream from=...; OutputStream to=...; ByteStreams.copy(from,to); //复制
Java代码 Reader from =...; Writer to =...; CharStreams.copy(from, to); //复制
Java代码 File from=...; File to=...; Files.copy(from, to); //复制
Java代码 Files.deleteDirectoryContents(File directory); //删除文件夹下的内容(包括文件与子文件夹) Files.deleteRecursively(File file); //删除文件或者文件夹 Files.move(File from, File to); //移动文件
Java代码 URL url = Resources.getResource("config.xml"); //获取classpath根下的config.xml文件url
|
小黑屋|在路上
( 蜀ICP备15035742号-1 )
GMT+8, 2025-7-9 00:55
Copyright 2015-2025 djqfx