组织工作许多年后,才辨认出有许多辅助工具C#,能普遍化标识符量,提高合作开发工作效率,最高级合作开发人员却不晓得。而那些C#早已正式成为了业内国际标准C#,大子公司的外部也都在采用,假如刚组织工作的这时候就没人说我采用那些辅助工具C#,该多好!
几块看呵呵有什么样辅助工具C#你也用过。
1. Java便携式辅助工具方式
List子集堆叠出以双引号隔开的数组
//怎样把list子集堆叠出以双引号隔开的数组 a,b,c
List list = Arrays.asList(“a”,”b”,”c”);
//第二种方式,能用stream流
String join = list.stream().collect(Collectors.joining(“,”));
System.out.println(join);//输入 a,b,c
//第三种方式,只不过String也有join方式能同时实现那个机能
String join = String.join(“,”, list);
较为三个数组与否成正比,忽视UTF
if (strA.equalsIgnoreCase(strB)){
System.out.println(“成正比”);
}
较为三个第一类与否成正比
当我们用equals较为三个第一类与否成正比的这时候,还需要对左边的第一类进行判空,不然可能会报空指针异常,我们能用java.util包下Objects封装好的较为与否成正比的方式
Objects.equals(strA, strB);
源码是这样的
public static boolean equals(Object a, Object b){
return (a == b)(a != null && a.equals(b));
三个List子集取交集
List list1= new ArrayList<>();
list1.add(“a”);
list1.add(“b”);
list1.add(“c”);
List list2= new ArrayList<>();
list2.add(“a”);
list2.add(“b”);
list2.add(“d”);
list1.retainAll(list2);
System.out.println(list1);//输入[a, b]
2. apache commons辅助工具C#
apache commons是最强大的,也是采用最广泛的辅助工具C#,里面的子库非常多,下面介绍几个最常用的
commons-lang,java.lang的增强版
建议采用commons-lang3,优化了一些api,原来的commons-lang已停止更新
Maven依赖是:
org.apache.commons
commons-lang3
3.12.0
数组判空
传参CharSequence类型是String、StringBuilder、StringBuffer的父类,都能直接下面方式判空,以下是源码:
public static boolean isEmpty(final CharSequence cs){
return cs == null cs.length()==0;
public static boolean isNotEmpty(final CharSequence cs){
return !isEmpty(cs);
//判空的这时候,会去除数组中的空白字符,比如空格、换行、制表符
public static boolean isBlank(final CharSequence cs){
final int strLen = length(cs);
if (strLen ==0){
return true;
}
for (int i =0; i < strLen; i++){
if (!Character.isWhitespace(cs.charAt(i))){
return false;
}
return true;
public static boolean isNotBlank(final CharSequence cs){
return !isBlank(cs);
首字母转成大写
String str =”yideng”;
String capitalize = StringUtils.capitalize(str);
System.out.println(capitalize);//输入Yideng
2.1.3重复堆叠数组
String str = StringUtils.repeat(“ab”,2);
System.out.println(str);//输入abab
2.1.4格式化日期
再也不用手写SimpleDateFormat格式化了
// Date类型转String类型
String date = DateFormatUtils.format(new Date(),”yyyy-MM-dd HH:mm:ss”);
System.out.println(date);//输入2021-05-0101:01:01
// String类型转Date类型
Date date = DateUtils.parseDate(“2021-05-0101:01:01″,”yyyy-MM-dd HH:mm:ss”);
//计算一个小时后的日期
Date date = DateUtils.addHours(new Date(),1);
2.1.5包装临时第一类
当一个方式需要返回三个及以上字段时,我们一般会封装成一个临时第一类返回,现在有了Pair和Triple就不需要了
//返回三个字段
ImmutablePair pair = ImmutablePair.of(1,”yideng”);
System.out.println(pair.getLeft()+ “,”+ pair.getRight());//输入1,yideng
//返回三个字段
ImmutableTriple triple = ImmutableTriple.of(1,”yideng”, new Date());
System.out.println(triple.getLeft()+ “,”+ triple.getMiddle()+ “,”+ triple.getRight());//输入1,yideng,Wed Apr 0723:30:00 CST 2021
2.2 commons-collections 子集辅助工具类
commons-collections4
4.4
2.2.1子集判空
封装了子集判空的方式,以下是源码:
public static boolean isEmpty(final Collection coll){
return coll == null coll.isEmpty();
public static boolean isNotEmpty(final Collection coll){
return !isEmpty(coll);
//三个子集取交集
Collection collection = CollectionUtils.retainAll(listA, listB);
//三个子集取并集
Collection collection = CollectionUtils.union(listA, listB);
//三个子集取差集
Collection collection = CollectionUtils.subtract(listA, listB);
2.3 common-beanutils 操作第一类
Maven依赖:
commons-beanutils
commons-beanutils
1.9.4
public class User {
private Integer id;
private String name;
设置第一类属性
User user = new User();
BeanUtils.setProperty(user,”id”,1);
BeanUtils.setProperty(user,”name”,”yideng”);
System.out.println(BeanUtils.getProperty(user,”name”));//输入 yideng
System.out.println(user);//输入{“id”:1,”name”:”yideng”}
第一类和map互转
//第一类转map
Map map = BeanUtils.describe(user);
System.out.println(map);//输入{“id”:”1″,”name”:”yideng”}
// map转第一类
User newUser = new User();
BeanUtils.populate(newUser, map);
System.out.println(newUser);//输入{“id”:1,”name”:”yideng”}
2.4 commons-io 文件流处理
commons-io
commons-io
2.8.0
文件处理
File file = new File(“demo1.txt”);
//读取文件
List lines = FileUtils.readLines(file, Charset.defaultCharset());
//写入文件
FileUtils.writeLines(new File(“demo2.txt”), lines);
//复制文件
FileUtils.copyFile(srcFile, destFile);
3. Google Guava 辅助工具C#
com.google.guava
guava
30.1.1-jre
3.1创建子集
List list = Lists.newArrayList();
List list = Lists.newArrayList(1,2,3);
//反转list
List reverse = Lists.reverse(list);
System.out.println(reverse);//输入[3,2,1]
// list子集元素太多,能分成若干个子集,每个子集10个元素
List
Map map = Maps.newHashMap();
Set set = Sets.newHashSet();