编码风格

一、List相关操作

1、list 转map(1对1)

list 转 map(value是list)

List<CityRideDraftDto> channelCityRideDraftDtoList = channelCityRideDraftDtoListMap.computeIfAbsent(cityRideDraftDto.getChannel(), k -> new ArrayList<>());

 

list与字符串:

List<String> uidList = 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;
List<String> keyList = Lists.newArrayList(partnerServerInfo.getAndroidDriverKey(),
partnerServerInfo.getAndroidPassengerKey(),
partnerServerInfo.getIosDriverKey(),
partnerServerInfo.getIosPassengerKey());
Arrays.asList(
CardDataTypeEnum.INSURANCE_CARD
)
private final Map<String, Serializable> optionMaps = 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"));
});

 

posted @ 2020-04-21 09:53  大米粒汪汪叫  阅读(125)  评论(0编辑  收藏  举报