본문 바로가기
반응형

Language/Java133

자바 Type mismatch: cannot convert from null to boolean 해결방법 자바에서 Type mismatch: cannot convert from null to boolean 에러는 boolean에 null을 넣으려는 경우 발생하는 에러인데 boolean 에는 true, false 만 들어올 수 있어서 null을 넣어줄 수 없고 null을 넣어주려면 null을 지원하는 Wrapper Class인 Boolean을 사용해줘야 한다 (Boolean a = null;) 2023. 1. 9.
자바 Stream BigDecimal 더하기 빼기 방법 자바에서 Stream을 사용할 경우 BigDecimal들을 더하거나 빼는 등 SUM 느낌으로 return 하려는 경우 .reduce(초기값, BigDecimal::add / substract) 를 사용해주면 끝인데 초기값을 0으로 설정하는 케이스는 .reduce(BigDecimal.ZERO, BigDecimal::add); 특정 BigDecimal 값에서 빼는 방법은 .reduce(BigDecimal값, BigDecimal::substract); 를 사용해주면 되겠다 마지막으로 실제 사용 시에는 List ~ .stream().reduce(BigDecimal.ZERO, BigDecimal::add) 이런 식으로 사용하게 된다 2022. 12. 8.
자바 Stream filter 사용 시 조건(if) 적용방법 자바 Stream을 사용하는 도중 filter 메소드에 조건을 적용하려고 하는데 param이 null로 들어올 때는 조건이 적용되지 않고 전체를 가져오려고 하고 param에 값이 있을 경우에는 그 값과 동일한 값을 끌어오려고 하는데 filter에 삼항연산자를 넣어 간단히 해결 가능하다 filter 메소드만 보자면 filter(test -> param == null ? 1==1 : test.get~().equals(param)) 이런 식인데 param이 null이면 1==1은 다 가져오겠다는 말이고 null이 아닐 경우에는 param과 같은 값만 필터링을 하게 된다 예제로 보자면 아래와 같은데 param이 null일 경우에는 1 == 1에 걸려 List의 모든 항목이 나오는 것이 보인다 반대로 param에.. 2022. 12. 7.
자바 DTO 클래스 내 모든 변수가 NULL인지 확인방법 import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import java.lang.reflect.Field; import java.math.BigDecimal; @NoArgsConstructor @AllArgsConstructor @Builder @Getter public class TestDto { private Long id; private BigDecimal value; private String memo; public boolean isDtoEntireVariableNull() { try { for (Field f : getClass().getDecl.. 2022. 10. 11.
자바 List 선언과 동시에 초기화하는 방법 // JAVA 9 이상부터 가능 List list = List.of("A", "B"); List list2 = Arrays.asList("A", "B"); List list3 = new ArrayList(){ { add("A"); add("B"); } }; 자바에서 List 선언과 동시에 값을 넣어 초기화하려고 하는 경우에는 자바 9 이상의 경우에는 List.of(값); 을 사용하여 간단히 해결이 가능하고 자바 9 이하라면 Arrays.asList(값); 혹은 new ArrayList(){} 안에 add를 넣어 사용해주면 된다 2022. 9. 19.
자바 List<BigDecimal> Stream으로 합계 구하는 방법 // List 에서 합계를 구하는 경우 List bigDecimals = List.of(BigDecimal.ONE, BigDecimal.ONE); bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal::add); // List 에서 합계를 구하는 경우 List testDtos = List.of(TestDto.builder().id(1L).value(BigDecimal.TEN).build(), TestDto.builder().id(1L).value(BigDecimal.ONE).build()); testDtos.stream().map(m -> m.getValue()).reduce(BigDecimal.ZERO, BigDecimal::add); 자바에서 BigDec.. 2022. 8. 9.

반응형