이번 포스트에서는 자바에서 사용하는 유용한 메소드들을 포스팅합니다. 정리 목적의 포스트이므로 각 메소드들에 대한 설명은 최소화 하였습니다.
Char
Character.getNumericValue('1') - 숫자로된 char를 int로 변경
Character.forDigit(5,10) - int를 char로 변경, 첫번째 인자로는 숫자를, 두번째 인자로는 원하는 진법을 입력
Math
Math.floor(1.5), (int)Math.floor(1.23) - 실수값을 내림해주며 기본적으로 첫번째 소수값도 같이 리턴해준다.
Math.abs(-1) - 음수든 양수든 절대값으로 리턴
Math.sqrt(81) - 제곱근을 구하여 double 형태로 리
String
"string1".length() - String, StringBuilder, StringBuffer 인스턴스들의 문자열 길이 리턴
"string1".equals("string2") - 두개의 문자열 값이 같은지 비교 후 boolean 리턴
"string1".charAt(0) - 해당문자열의 원하는 자리의 문자값 하나를 char로 리턴
"string1".compareTo("string2") - 두 문자열을 비교하며 다문자열이 같다면 0, 첫 번째문자열이 비교적작다면 음수, 크면 양수 반환
"string1".compareToIgnoreCase("string2") - 위와 동일하지만 대소문자를 구분하지 않음
"string1".concat("string2") - 해당 문자열 뒤에 두번째 문자열을 연결 하여 반환
"string1".indexOf('s') - 특정한 문자 하나를 해당 문자열에서 순서대로 검색하며 그에 맞는 인덱스를 반환
"string1 ".trim() - 해당문자열의 띄어쓰기와 탭문자를 모두 제거
"s t r i n g 1".split(" ") - 매개변수의 문자를 기준으로 string을 분할시켜 준뒤 배열로 리턴
"string1".isEmpty() - 문자형 데이터가 비어있는지 체크후 boolean으로 리턴
String.format("현재 시각은 %d시 %d분 %d초 입니다.",hour,min,sec) - 문자열에 변수를 넣어 리턴
String.valueOf('c') - 문자값 하나를 String 형태로 바꿔 리
Array
Arrays.copyOf(원본배열, 복사할 마지막 인덱스) - 원본배열의 첫번째 인덱스부터 두번째 매개변수까지의 요소들 복사후 배열로 리턴
Arrays.copyOfRange(원본배열, 시작할 인덱스, 끝 인덱스) - 위와 같지만 시작할 인덱스를 지정한다.
Arrays.toString({1,2,3}) - "[1, 2, 3]" 예제와 같이 괄호를 포함하여 String타입으로 만들어서 리턴
System.arraycopy(복사할배열, 복사를 시작할 인덱스, 복사될배열, 복사를 받을 인덱스, 복사를 시작할 인덱스부터 복사될 요소의 수) - 배열을 미리 만들어놔야되며 복사될 배열에 값들이 저장된다.
Integer
Integer.toString(123) - int형 데이터를 String으로 바꿔 리턴
Double
Double.NEGATIVE_INFINITY - 음의 최저값 리턴
StringTokenizer 클래스
문자열을 쪼개주는 클래스로 이렇게 쪼개진 문자열을 토큰(token)이라 한다.
StringTokenizer를 사용하기 위해선 이것을 임포트해주어야한다. import java.util.StringTokenizer;
String str = "This is a string example using StringTokenizer";
StringTokenizer tokenizer = new StringTokenizer(str);
//토크나이저의 사용
String token = tokenizer.nextToken()
//첫번째 토큰을 반환하며 반환된 토큰은 전체 문자열에서 제거된다.
int count = tokenizer.countTokens()
//현재 남아있는 토큰의 갯수를 리턴한다.
boolean emptyCheck = tokenizer.countTokens()
//하나 이상의 토큰이 있는지 체크한다.
StringBuilder, StringBuffer 클래스
일반적인 String 클래스를 사용할경우 여러 개의 문자열을 더할 때 매번 새로운 인스턴스를 생성하게되어 비효율적일수 있다. 하지만 StringBuilder와 StringBuffer를 사용하면 좀더 효율적인 처리가 가능하다.
StringBuilder
StringBuilder stringBuilder = new StringBuilder("StringBuilder");
//StringBuilder 인스턴스 생성
stringBuilder.append("의 예제");
//문자열 추가
String str = stringBuilder.toString();
//StringBuilder타입을 String타입으로 변환
StringBuffer
String 클래스의 인스턴스는 한번 생성되면 그값을 변경할수 없다. 하지만 StringBuffer 클래스를 사용하면 그 인스턴스의 값은 변경, 추가, 삭제까지 가능하다. StringBuffer의 클래스는 16개의 문자를 저장할수 있는 버퍼(buffer)라는 독립적인 공간을 가지며 이 버퍼로인해 인스턴스 생성시 언제나 16개의 문자를 더 저장할 수 있는 크기로 생성된다.
StringBuffer를 이용하여 문자열들을 결합할경우 일반 문자열끼리의 결합보다 속도와 메모리공간면에서 효율이 좋다.
StringBuffer str = new StringBuffer("StringBuffer");
//StringBuffer의 인스턴스 생성
str.append("의 예제");
//맨뒤에 내용추가
str.capacity();
//현재 버퍼의 크기
str.delete(13, 16);
//"StringBuffer의"
//인덱스13부터 16까지의 문자열 삭제
str.deleteCharAt(12);
//"StringBuffer"
//인덱스12의 문자 삭제
str.insert(12, " Example");
//"StringBuffer Example"
//12번째 인덱스에 해당 내용 추가
'Java > Java' 카테고리의 다른 글
콘솔 입출력 (I/O, Input/Output) (0) | 2023.02.20 |
---|---|
연산자 (0) | 2023.02.20 |
참조 타입(Reference Type) - Java Data Type (0) | 2023.02.19 |
기본타입 (Primitive type) - Java Data Type (0) | 2023.02.19 |
변수와 자바의 데이터 타입 (0) | 2023.02.18 |