java高效代码

1.for循环语句优化:

for(int i = 0, iSize = list.size(); i < iSize; i++){
    ......
}

每次循环都执行一遍list.size(),即使size函数里面声明都不做,仅return s; 开销也比写上一个变量iSize要大。
如果size函数还要计算统计元素数量。开销更大改写成i < iSize,每次循环就只2个整型之间比较一次,开销最小。

2.对象属性复制:

所需的包:commons-beanutils-1.9.2.jar

BeanUtils.copyProperties(A, B);//B对象属性复制到A对象属性

3.JDK1.8中java.util.stream.Collectors根据List对象某个属性进行分组:

// 按用户ID分组
Map<String, List<DrtAccountRecord>> groupByAccountId = drtDrtAccountRecordList.stream().collect(Collectors.groupingBy(DrtAccountRecord :: getAccountId));

4.集合非空判断:

所需的包:spring-core-4.3.5.RELEASE.jar

!CollectionUtils.isEmpty(Collection<?> collection);

5.字符串非空判断:

所需的包:commons-lang-2.5.jar

StringUtils.isNotBlank(String str);

6.日志输出:

所需的包:slf4j-api-1.7.25.jar

private Logger log = LoggerFactory.getLogger(Class<?> arg0);
log.error(String str);

7.通过数组拼接成以逗号分开的字符串:

所需的包:commons-lang-2.5.jar

Set<String> skuCodeSet = skuCodeMap.keySet();
String skuCodes = StringUtils.join(skuCodeSet.toArray(new String[skuCodeSet.size()]), ",");

猜你喜欢

转载自blog.csdn.net/dsen726/article/details/79994077