guava中的net包目前提供的功能较少,而且大多类都标注了@Beta
的注解,在guava中标记Beta注解表示这个类还不稳定,有可能在以后的版本中变化,或者去掉,所以不建议大量使用,这里也是只做简单的介绍。
先介绍下唯一一个没有Beta注解的类HttpHeaders,这个类中并没有实质的方法,只是定义了一些Http头名称的常量,通常如果需要我们会自己定义这些常量,如果你引用了guava包,那么就不再建议我们自己定义这些头名称的常量了,直接用它定义的即可。
这里面应该有几乎所有的Http头名称,例如:X_FORWARDED_FOR,UPGRADE,REFERER等等。用法也没有必要介绍了,直接引用常量就可以了。
再介绍下一个比较常用的小功能,有时候我们需要在配置文件中配置IP+端口,这时候需要自己写解析ip,端口的方法,guava为我们提供了解析类,我们看下用法实例:
HostAndPort hostAndPort = HostAndPort.fromString("127.0.0.1:8080"); System.out.println("host == " + hostAndPort.getHostText()); System.out.println("port == " + hostAndPort.getPortOrDefault(80));
HostAndPort类的静态方法fromString(String)可以解析出字符串中定义的Host和端口信息。
另外guava包中还提供了InetAddresses类,这个类是InetAddress的帮助类,通过这个类可以方便的从字符串中解析出InetAddress类。但是此类也有@Beta的注解,所以要谨慎使用。