Java15 [Java] 특정 문자열 및 빈 값 체크 // Java 특정 문자열 및 빈 값 체크String str1 = null; // str1 == null로 체크String str2 = "A"; // "A".equals(str2)로 체크String str3 = ""; // "".equals(str3)로 체크// (Java 6 이상)String str4 = ""; // str4.isEmpty()로 체크String str5 = ""; // str5.trim().isEmpty()로 체크String str6 = " "; // str6.trim().isEmpty()로 체크String str7 = " "; // str7.trim().isEmpty()로 체크// (Java 11 이상)String str8 = ""; // str8.isBlank()로 .. 2024. 8. 29. [Java] Equals & HashCode == : 동일성 비교(객체 인스턴스의 주소 값을 비교) equals() : 동등성 비교(객체 내부의 값을 비교) hashCode() : 객체의 메모리 번지를 이용해서 해시코드를 만들고 그 값을 리턴(객체마다 다른 값을 가지고 있다.) hashCode()를 사용하는 이유 중 하나는, 객체를 비교할 때 드는 비용을 낮추기 위함이다. 자바에서 2개의 객체가 같은지 비교할 때 equals()를 사용하는데, 여러 객체를 비교할 때 equals()를 사용하면 Integer를 비교하는 것에 비해 많은 시간이 소요된다. hashCode() 메소드를 실행하여 리턴된 해시코드 값이 다르면 다른 객체로 판단하고, 해시코드 값이 같으면 equals() 메소드로 두 객체를 다시 비교한다. 즉, 여러 객체의 동등성 비교를 할 때.. 2022. 11. 25. [Java] Exception public class ExceptionOccurred { // Checked Exception : RuntimeException을 상속받지 않은 클래스 // Unchecked Exception : RuntimeException을 상속받은 클래스 // throw : 강제로 예외를 발생시킬 수 있음 단, 발생시킨 예외를 catch문에서 잡을 수 있는 처리가 되어있지 않으면 오류 발생(catch문의 Exception은 모든 예외를 잡을 수 있음) // throws : 예외 발생 시 자신을 호출한 상위 메소드로 예외를 던짐(특정 상위 메소드에서 예외를 한 번에 처리하는 경우가 있을 수 있음, 계속 throws로 던질 경우 최종적으로 JVM이 처리를 하게 되지만, 권장하지 않음) // 중요 : RuntimeEx.. 2022. 11. 25. [Java] Comparable & Comparator Comparable : 현재 객체와 다른 객체의 비교 기준을 정함 => Comparable - CompareTo (T o) 정의 Comparator : 두 객체의 비교 기준을 정함 => Comparator - Compare(T o1, T o2) 정의 public class Node implements Comparable { private int index = 0; // 노드의 번호 private int distance = 0; // 노드의 거리 private String name = ""; // 노드의 이름 public Node(int index, int distance, String name) { this.index = index; this.distance = distance; this.name = n.. 2022. 11. 25. [Java] 연산자 // 비트 연산자 System.out.println(1 100000 // 32 System.out.println(2 1000000 // 64 System.out.println(10 >> 1); // 1010 -> 101 // 5 System.out.println(10 >> 2); // 1010 -> 10 // 2 System.out.println(1 1001 // 9 System.out.println(1 1101 // 13 System.out.println(13 ^ 9); // 1101 ^ 1001 // 모두 같으면 0, 다르면 1로 => 100 // 4 System.out.println(~13); // ~1101 // 8비트로 만든 후 0과 1 바꿈 => 00001101 => 11110010 // -1.. 2022. 11. 25. [Java] Stack, Queue, Deque import java.util.ArrayDeque; import java.util.Deque; import java.util.LinkedList; import java.util.Queue; import java.util.Stack; public class DequeSample { // Stack, Queue, Deque public static void main(String[] args) { // TODO Auto-generated method stub Deque stack1 = new ArrayDeque(); // addFirst + removeFirst // 스택 stack1.addFirst(1); stack1.addFirst(2); stack1.addFirst(3); //stack1.add(4); .. 2022. 11. 25. 이전 1 2 3 다음