Java 17

[Java] 현업 자바 백엔드 개발자들이 가장 많이 하는 실수 1위: NullPointerException(NPE) 방어 미흡

Java 백엔드 개발을 하다 보면 가장 자주 맞닥뜨리는 예외가 바로 NullPointerException(NPE)입니다.이 예외는 신입부터 10년차까지 누구나 꼭 경험하고, 심지어 현업에서도 반복적으로 발생하는 대표적인 오류입니다.특히 Spring + MyBatis + JSP + Oracle/Tibero 기반의 레거시 환경에서는 “값이 null인지 아닌지” 체크만 제대로 해도 수많은 장애를 예방할 수 있습니다.1️⃣ 왜 항상 NullPointerException이 발생할까?Java는 null을 허용하는 언어입니다.이 말은 곧, 객체가 아닌데도 객체처럼 다루는 순간 바로 NPE가 발생한다는 뜻이죠.2️⃣ 실무에서 가장 흔한 NPE 패턴① toString(), length() 같은 메서드를 바로 호출Stri..

언어/JAVA 2025.11.19

🔍 Java split(",", -1) — 마지막 콤마 때문에 삽질했던 사람들에게

자바에서 CSV나 콤마 구분 문자열을 다뤄보다 보면, 누구나 한 번쯤 겪는 일이 있습니다.“마지막 콤마 때문에 배열 길이가 달라지네… 왜 안 나오지??”😩 흔한 상황String raw = "수신처1,수신처2,";String[] arr = raw.split(",");System.out.println(Arrays.toString(arr));결과:[수신처1, 수신처2]엇? 뒤에 콤마가 있었는데 빈 문자열("") 은 어디 갔을까요?그렇습니다. 자바의 split()은 기본적으로 뒤쪽의 빈 토큰을 자동으로 버립니다.🧩 왜 이런 일이 생길까?String.split()은 내부적으로 정규식을 사용하며, 기본 동작은 뒤에 있는 빈 토큰은 제거로 설정되어 있습니다."A,B,".split(",") → ["A","B"]..

언어/JAVA 2025.11.08

백준 알고리즘 10813번: 공 바꾸기 - JAVA

https://www.acmicpc.net/problem/10813 10813번: 공 바꾸기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이www.acmicpc.net https://zumsim.tistory.com/76 백준 알고리즘 10810번: 공 넣기 - JAVAhttps://www.acmicpc.net/problem/10810 10810번: 공 넣기도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많zumsim.tistory.com 최근에 올린 10810번 공 ..

알고리즘 2024.04.26

백준 알고리즘 10807번: 개수 세기 - JAVA

https://www.acmicpc.net/problem/10807 10807번: 개수 세기첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거www.acmicpc.net  import java.util.Scanner; public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);                        int result = 0;        int cnt = sc.nextInt();        int[] ..

알고리즘 2024.04.26

백준 알고리즘 25304번 : 영수증 - JAVA

https://www.acmicpc.net/problem/25304 25304번: 영수증준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것www.acmicpc.net 총 가격과영수증의 물건 종류 개수,물건가격과 갯수를 공백을 사이로 입력받아서총 가격과 입력 받아 계산한 가격이 같은지 다른지 체크하는 문제 입력을 받으면서 가격을 계산하여 마지막엔 간단히 삼항연산자로 비교하여 결과 출력  import java.util.Scanner; public class Main {    public static void main(String[] args) {        Scanner s..

알고리즘 2024.04.26

백준 알고리즘 11720번: 숫자의 합 - JAVA

https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokeniz..

알고리즘 2022.12.08

백준 알고리즘 10818번: 최소, 최대 - JAVA

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; im..

알고리즘 2022.12.08
728x90
반응형