본문 바로가기
728x90

Java18

ConcurrentModificationException Java에서 ConcurrentModificationException은 컬렉션을 동시에 수정하려고 할 때 발생합니다. 이 예외는 다른 스레드나 iterator가 컬렉션을 수정하는 동안, 현재 스레드에서 해당 컬렉션을 수정하려고 할 때 발생합니다. 예를 들어, 다음과 같은 코드에서는 ConcurrentModificationException이 발생할 수 있습니다. List numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 5)); for (Integer number : numbers) { if (number == 3) { numbers.remove(number); } } 이 코드에서는 numbers 리스트에서 iterator를 통해 요소를 순회하면서, 요소가 3인 경우.. 2023. 2. 23.
Checked Exception과 Unchecked Exception Java에서 Exception은 크게 Checked Exception과 Unchecked Exception으로 나뉩니다. Checked Exception은 컴파일러가 예외처리를 강제하는 Exception을 말합니다. Checked Exception을 발생시키는 메서드는 반드시 try-catch 블록으로 감싸거나 throws 키워드를 사용하여 예외를 호출한 메서드에 전파해야 합니다. 대표적인 Checked Exception으로는 IOException, SQLException 등이 있습니다. Unchecked Exception은 컴파일러가 예외처리를 강제하지 않는 Exception을 말합니다. Unchecked Exception은 RuntimeException 클래스를 상속받은 Exception입니다. 이러.. 2023. 2. 23.
String, String Buffer, String Builder String, StringBuffer, StringBuilder는 모두 문자열을 다루는 클래스입니다. 이들의 차이점은 다음과 같습니다. String String 클래스는 불변(immutable)한 객체입니다. 즉, 한 번 생성된 문자열은 변경할 수 없습니다. 따라서, 문자열을 연결하거나 변경할 때마다 새로운 객체를 생성해야 합니다. 이는 메모리 낭비를 야기할 수 있습니다. 그러나, 불변성을 보장하기 때문에 스레드 안전성이 보장됩니다. StringBuffer StringBuffer 클래스는 가변(mutable)한 객체이며, 동기화된 메소드를 제공합니다. 따라서, 멀티쓰레드 환경에서 안전하게 사용할 수 있습니다. 또한, 문자열을 연결하거나 변경하는 등의 작업에서 새로운 객체를 생성하지 않고 기존 객체를 변경.. 2023. 2. 22.
Final, Finally, Finalize 비교 Final, finally, finalize는 모두 자바에서 사용되는 키워드이지만, 각각 다른 역할을 합니다. Final Final은 변수, 메소드, 클래스에 사용할 수 있으며, 다음과 같은 의미를 가집니다. 변수 : 변수의 값을 변경할 수 없음을 의미합니다. 메소드 : 메소드의 오버라이딩을 금지함을 의미합니다. 클래스 : 클래스의 상속을 금지함을 의미합니다. Finally Finally는 try-catch 문에서 사용할 수 있으며, 예외 발생 여부와 상관없이 항상 실행되는 블록입니다. 보통, 리소스 해제나 데이터베이스 연결 종료와 같은 마무리 작업을 수행하는 데 사용됩니다. Finalize Finalize는 Object 클래스에 정의된 메소드로, 객체가 Garbage Collector에 의해 수거될 때.. 2023. 2. 22.
[Java] StringBuffer와 reverse 함수를 사용하여 문자열 거꾸로 출력하기 StringBuffer의 reverse() 함수를 이용하면 쉽게 문자열을 순서를 뒤집어 출력할 수 있다. 12345678910public class Main { public static void main(String[] args) { String str = "Hello, world!"; //Hello, world! System.out.println(str); StringBuffer strb = new StringBuffer(str); //!dlrow ,olleH System.out.println(strb.reverse().toString()); }}Colored by Color Scriptercs 2022. 9. 5.
[Java] 배열 역순으로 출력하기 Collections의 reverse함수를 사용하기 위하여 배열을 List로 변환하는 방법을 사용하였다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.Arrays; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { String[] arr = {"1", "2", "3", "4", "5"}; // [1, 2, 3, 4, 5] System.out.println(Arrays.toString(arr)); // Arrays.asList는 배열을 리스트로 반환해 준다. List list = Ar.. 2022. 9. 4.
728x90