工具篇-Java中一些utils
Posted lcmichelle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工具篇-Java中一些utils相关的知识,希望对你有一定的参考价值。
下边是整理的一些Java开发的utils,顺便吐槽下新浪博客的编辑器排版跟我写的博客一样 烂,所以采用的博客园
一、字符串
1.Java中String与其他类型之间的转换
-
String与日期对象
1 public static SimpleDateFormat df1 = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss", Locale.US); 2 public static SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); 3 df2.format(df1.parse(time_local));
在将字符串转为日期对象时,可以使用parse方法;日期对象转为字符串时,可以使用format方法。但是parse在解析日期字符串的时候本身存在一些问题:比如https://blog.csdn.net/a158123/article/details/54292268。
-
String与八种基本类型(以int为例)
String->int:
1 try { 2 int i = Integer.parseInt(str); 3 } catch (NumberFormatException e) { //str中可能有非数字 4 e.printStackTrace(); 5 }
int->String:
第一种方法:
1 str=i+""; //会产生两个String对象
第二种方法:
1 str=String.valueOf(i); //直接使用String类的静态方法,只产生一个String对象
2.String.format方法
1 String formatted = String.format("%s今年%d岁。", "我", 25); // 打印结果:"我今年25岁。"
第一个参数是格式串,后面参数都是格式串的参数,用于替换格式串中的占位符。占位符类型有下面几种:(大写表示输出为大写)
二、Spring
1.JSONField 注解
-
指定字段的名称
1 @JSONField(name="role_name") 2 private String roleName;
-
使用format制定日期格式
public class A { // 配置date序列化和反序列使用yyyyMMdd日期格式 @JSONField(format="yyyyMMdd") public Date date; }
-
指定字段的顺序
1 public static class VO { 2 @JSONField(ordinal = 3) 3 private int f0; 4 5 @JSONField(ordinal = 2) 6 private int f1; 7 8 @JSONField(ordinal = 1) 9 private int f2;
-
使用serialize/deserialize指定字段不序列化
1 public class A { 2 @JSONField(serialize=false) 3 public Date date; 4 }
三、随机数
1.Java生成UUID
UUID 的目的是让分布式系统中所有元素都有唯一辨识资讯,而不需要由中央控制端来做辨识资讯的指定。
UUID由以下几部分的组成:
- 当前日期和时间
- 时钟序列
- 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)。
UUID 来作为数据库数据表主键是非常不错的选择,保证每次生成的UUID 是唯一的。
1 //获得指定数目的UUID 2 public static String[] getUUID(int number){ 3 if(number < 1){ 4 return null; 5 } 6 String[] retArray = new String[number]; 7 for(int i=0;i){ 8 retArray[i] = getUUID(); 9 } 10 return retArray; 11 } 12 //获得一个UUID 13 public static String getUUID(){ 14 String uuid = UUID.randomUUID().toString(); 15 //去掉“-”符号 16 return uuid.replaceAll("-", ""); 17 }
四、文件
1.FileUtils
具有封装的读写文件、复制文件等功能。例如:
1 import org.apache.commons.io.FileUtils; 2 List lines = new ArrayList(); 3 ... 4 FileUtils.writeLines(new File("/Users/admin/1.txt"), lines, true); 5 String result = FileUtils.readFileToString(new File("/Users/admin/1.txt"), "UTF-8");
2.配置文件读取
一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,maven能把这些资源文件打包到相应的jar或者war里。在程序中就可以直接读取了,例如:
-
properties文件
1 InputStream input =Thread.currentThread().getContextClassLoader().getResourceAsStream("abc.properties"); 2 Properties prop = new Properties(); 3 prop.load(input);
-
yaml文件
1 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(yamlPath); 2 Yaml yaml = new Yaml(); 3 HashMap map = yaml.loadAs(inputStream, HashMap.class);
以上是关于工具篇-Java中一些utils的主要内容,如果未能解决你的问题,请参考以下文章
定时器篇---java.util.TimerTask和quarts
js代码片段: utils/lcoalStorage/cookie
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段