[Java] Java.lang package

얄루얄루·2022년 9월 18일
0

Java

목록 보기
4/7

Object Class

모든 클래스의 조상 클래스

메소드
protected Object clone() : 객체 자신의 복사본을 리턴
boolean equals(Object obj) : 객체 자신과 같은 객체인지를 리턴. 참조하는 메모리 주소가 같은 지를 비교.
protected void finalize() : 소멸자
Class getClass() : 객체 자신의 클래스 정보를 담은 class 인스턴스 리턴
int hashCode() : 해시코드를 리턴
String toString() : 정해진 문자열을 리턴
void notify() : 객체 자신을 사용하려고 기다리는 스레드 하나를 깨움
void notifyAll() : 객체 자신을 사용하려고 기다리는 모든 스레드를 깨움

String Class

문자열을 처리하는 클래스.
String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없다.
즉, str = "a" + "b"와 같은 코드는 "a"를 생성, "b"를 생성, 이를 합친 "ab"를 생성하여 str에 할당한다는 무시무시한 저효율을 보여주는 코드라는 것.

메소드
length(): 문자열의 길이를 반환
char charAt(int index): 특정 위치의 문자를 char형으로 반환
char[] toCharArray(): 문자열을 char형 배열로 반환
boolean contains(CharSequence s): 문자열에 연속된 문자가 있는 지의 여부를 반환
int indexOf(int ch or String str): 문자열에서 특정 문자나 문자열이 시작되는 인덱스를 반환
int lastIndexOf(int ch): 문자열에서 특정 문자가 등장하는 마지막 인덱스를 반환
int lastIndexOf(int ch, int fromIndex): 위와 같지만 특정 인덱스 이후부터 탐색
String toLowerCase(): 문자열을 소문자로 변환
String toUpperCase(): 문자열을 대문자로 변환
String trim(): 문자열 양 옆의 공백 제거
boolean equals(Object anObject): 해당 문자열과 같은 값인 지를 반환
boolean equalsIgnoreCase(String anotherString): 대/소문자 무시하고 같은 값인 지를 반환
String[] split(String regex): 문자열을 정규 표현식에 따라 나눈 문자열 배열로 반환
String replace(char oldChar, char newChar): 문자열의 특정 문자를 새 문자로 교체
String replaceAll(String regex, String replacement): 정규표현식에 해당되는 부분문자열을 새 문자열로 교체
String concat(String str): 현 문자열에 문자열 str를 이어붙인 새 문자열을 반환
boolean startsWith(String prefix): 문자열이 prefix로 시작되는 지를 반환
boolean endsWith(String suffix): 문자열이 suffix로 끝나는 지를 반환
static String valueOf(Object obj): int, char, boolean 등 각종 형을 String형으로 변환
int compareTo(String anotherString): 다른 문자열과의 사전식 순서 비교 결과를 반환. 정렬에 이용.

StringBuffer & StringBuilder

String Class과 다르게 mutable (가변적인) Class여서 잦은 문자열 변경에 강하다.
StringBuffer 클래스는 내부적으로 buffer라고 하는 독립적인 공간을 가진다.
기본적인 buffer size는 16개의 문자 크기이지만, 생성자를 통해 변경 가능하다.

메소드
StringBuffer append(Object obj): 전달되는 int, char, boolean, String 등의 값을 문자열로 변경해서 현 문자열의 가장 뒤에 이어붙임
StringBuffer delete(int start, int end): start부터 end 사이의 부분 문자열을 현 문자열에서 제거
StringBuffer deleteCharAt(int index): 위와 같지만 문자 하나만 제거
int capacity(): 현재 버퍼 크기를 반환
StringBuffer reverse(): 문자열을 거꾸로 변환

StringBuffer vs StringBuilder

  • StringBuffer: Thread-safe. Multi-threads 환경에 유리
  • StringBuilder: NOT Thread-safe. Single-thread 환경에 유리 (동기화 부분이 아예 없어 더 빠름)

Math

기본적인 수학적 계산을 구현해 놓은 클래스
모든 메소드가 static이라 객체 생성 없이도 사용이 가능하다.

필드(속성)
Math.E : 자연 로그 값
Math.PI : 파이 값

메소드
static double random(): [0.0, 1.0) 범위에서 랜덤 값을 생성 후 반환
static double abs(int a): 절대값을 반환. 소수도 됨.
static double ceil(double a): 올림
static double floor(double a): 버림
static long round(double a): 반올림
static double rint(double a): 반올림 후 double형으로 반환
static int max(int a, int b): 더 큰 값을 반환. 소수도 됨.
static int min(int a, int b): 더 작은 값을 반환. 소수도 됨.
static double pow(double a, double b): a^b를 반환
static double sqrt(double a): 루트 a를 반환
static double cbrt(double a): a의 세제곱근 반환
static double sin(double a): a의 sin값 반환
static double asin(double a): a의 arc-sin값 반환
static double cos(double a): a의 cos값 반환
static double acos(double a): a의 arc-cos값 반환
static double tan(double a): a의 tan값 반환
static double atan(double a): a의 arc-tan값 반환
static double toDegrees(double angrad): 라디안 -> 디그리
static double toRaidans(double angdeg): 디그리 -> 라디안
static double log(double a): 자연로그 a값 반환
static double log10(double a): 로그10 a값 반환

profile
시간아 늘어라 하루 48시간으로!

0개의 댓글

관련 채용 정보