[링크] [JAVA]한글 받침에따라서 ‘을/를’ 구분하기 (을를)
https://github.com/b1uec0in/JosaFormatter 나중에 봐야지. 일단 깃헙 스타 박습니다~ https://okky.kr/article/549842
https://github.com/b1uec0in/JosaFormatter 나중에 봐야지. 일단 깃헙 스타 박습니다~ https://okky.kr/article/549842
https://solbel.tistory.com/1240
newList.addAll(oriList); 는 언뜻 deep copy 인 것처럼 보이지만 아니다. 커스텀 클래스인 경우에는 Clonable 을 implement 하기도 한다고 한다. 나는 주로 List<Map> 구조를 사용하기 때문에 그냥 아래와 같이 했다. List<Map<String, Object>> newList = new ArrayList<>(); oriList.forEach(el -> { newList.add(new LinkedHashMap<>(el)); // 이걸로 완전한 deep copy가 이루어 지는지는 아직 모르겠다. });
https://towardsdatascience.com/25-lesser-known-java-libraries-you-should-try-ff8abd354a94
@Transient private String blabla;
* commons StringUtils.containsAny([타겟 문자열], [비교대상1], [비교대상2]..); * containsAll() 같은 건 없지만, 그거 비슷하게 구현한 메서드 public static boolean hasAndKey(String value, String… keys) { for (String key : keys) { if (value.contains(key) == false) { return false; } } return true; }
package com.app.util; import java.util.Locale; import java.util.Properties; import javax.servlet.http.HttpServletRequest; import org.springframework.context.MessageSource; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PropertiesLoaderUtils; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import com.util.StringUtil; import lombok.extern.slf4j.Slf4j; /** * 웹 관련 유틸 클래스 * * @author STEVE */ @Slf4j public class WebUtil { /** * 현재 request url 에서 [http(s)프로토콜 부터 도메인까지]를 substring 한 문자열을… Read More »
org.springframework.test.util.ReflectionTestUtils.setField(obj, “fieldName01”, fieldValue01);
List<String> newList = list.stream().map(StringUtil::trim).collect(Collectors.toList()); * 참고 링크 Java 스트림 Stream (1) 총정리
/* * 기본적인 루프 * – map.forEach() */ map.forEach((k, v) -> System.out.println("key: " + k + ", value: " + v)); map.forEach((k,v) -> { System.out.println("key: " + k + ", value: " + v) }); map.entrySet().forEach((e) -> System.out.println("key: " + e.getKey() + ", value: " + e.getValue())); map.keySet().forEach((k) -> System.out.println("key: " + k)); map.values().forEach((v) ->… Read More »
java -XX:+PrintFlagsFinal -version | grep -iE ‘HeapSize|MetaSpaceSize|ThreadStackSize’ * 참고 링크 https://www.mkyong.com/java/find-out-your-java-heap-memory-size/
String rootPath = request.getServletContext().getRealPath(“/”);
private Map<String, OwnerVO> getSortedMapByOwnerTotChgVol(Map<String, OwnerVO> ownerMap) { List<Map.Entry<String, OwnerVO>> sortList = new LinkedList<>(ownerMap.entrySet()); Collections.sort(sortList, new Comparator<Map.Entry<String, OwnerVO>>() { @Override public int compare(Entry<String, OwnerVO> o1, Entry<String, OwnerVO> o2) { return ((o1.getValue().getTotChgVol() – o2.getValue().getTotChgVol()) < 0 ? 1 : -1); } }); Map<String, OwnerVO> sortedMap = new LinkedHashMap<>(); Iterator<Map.Entry<String, OwnerVO>> iter = sortList.iterator(); while(iter.hasNext()) { Map.Entry<String, OwnerVO>… Read More »
https://stackoverflow.com/questions/4154239/java-regex-replaceall-multiline
https://effectiveprogramming.tistory.com/entry/enum%EC%9D%98-%ED%99%9C%EC%9A%A9%EB%B2%95
/** * Fragment를 신규 생성하여 리턴한다. (동적 생성) * * – 추가기능으로 액션바의 타이틀을 arguments 에 넣어준다. * * @param clazz * @param <T> * @return */ public static <T extends BaseFragment> T newFragment(Class<T> clazz){ T ret = null; try { ret = clazz.newInstance(); } catch (java.lang.InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e)… Read More »
– 출처: https://stackoverflow.com/questions/2800739/how-to-remove-leading-zeros-from-alphanumeric-text – // 간단하게 하면 이렇게 s.replaceFirst(“^0+(?!$)”, “”); // 정규식 객체를 사용하면 이렇게 Pattern.compile(“^0+(?!$)”).matcher(s).replaceFirst(“”); * 참고: 이 방식은 “0000” 같은 문자열이 들어오면 마지막 0 하나는 남겨준다.
(1) 심플한 방법 ObjectMapper mapper = new ObjectMapper(); String beautifiedJson = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(mapper.readValue(srcJson, LilnkedHashMap.class)); (2) (1) 을 수행했는데 마음에 들지 않을 경우, 사용자정의를 할 수 있는 포인트가 있다. (내 경우에는 indent가 tab이 아니라 space 2개로 되어 있는 것이 마음에 들지 않아서 적용해 보았다.)
담에 또 써먹을 일이 있을까 모르겠지만… 일단 끄적여 본다~ // 이 문자열에서 시간표시 이전만 남기고 제거하고 싶다. String msg = “블라블라블라블라 (09:01 13:57:14) 블라블라블라”; String msgSubStr = “”; // 잘라낸 결과 Pattern pattern = Pattern.compile(“\\(\\d\\d”); // 위 msg 문자열에서 “(09” 에 해당하는 정규식패턴 Matcher matcher = pattern.matcher(msg); int foundIdx = 0; if(matcher.find()){ foundIdx =… Read More »
* jackson 2.7 버전 사용시 spring 4.3 버전 미만이면 오류가 발생한다.