编码风格
一、List相关操作
1、list 转map(1对1)
list 转 map(value是list)
List
list与字符串:
ListuidList = Arrays.asList(uids.split(","));
guava的String str = Joiner.on(
","
).join(list);
apache的String str = StringUtils.join(list.toArray(),
","
);
List.new一个:
package com.google.common.collect.Lists;
ListkeyList = Lists.newArrayList(partnerServerInfo.getAndroidDriverKey(),
partnerServerInfo.getAndroidPassengerKey(),
partnerServerInfo.getIosDriverKey(),
partnerServerInfo.getIosPassengerKey());
Arrays.asList(
CardDataTypeEnum.INSURANCE_CARD
)
private final MapoptionMaps = Maps.newHashMap();
当前时间:
import org.joda.time.LocalDateTime;
LocalDateTime.now().toDate();
时间格式:
package org.apache.commons.lang.time;
FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss.SSS").format(System.currentTimeMillis());
时间格式:
private static DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS").withZone(ZoneId.of("Asia/Shanghai"));
dateTimeFormatter.format(Instant.ofEpochMilli(System.currentTimeMillis()))
善用Optional:
JSONObject extJson = Optional.ofNullable(JSONObject.parseObject(approvalLog.getExt())).orElse(new JSONObject());
重试注解:
@Retryable(value = {HttpRequestApiException.class}, maxAttempts = 3,
backoff = @Backoff(delay = 1000L, multiplier = 1.5))
判空:
字符串:org.apache.commons.lang3.StringUtils isBlank()
对象:if (Objects.nonNull(merchantBusinessType)) {}
Objects.equals(partnerOrderInfo.getName(),leopardConfigInfo.getName())
集合:import org.apache.commons.collections.CollectionUtils;
CollectionUtils.isNotEmpty(list)
不符合要求抛异常:
Assert.notNull(processInstanceOpenApi, "processInstanceOpenApi is empty");
遍历JsonArray
poiList.stream().forEach(poiJson -> {
poiIdList.add(((JSONObject) poiJson).getString("poi_id"));
});