[TIL] 자바의 기본 API - Object /String / StringBuffer 클래스
패키지란 Package 란?
- 비슷한 성격의 클래스나 인터페이스 등을 모아 놓은 묶음으로 하나의 디렉토리이다.
- 패키지는 하위 패키지를 가질 수 있으며 패키지와 패키지, 패키지와 클래스는 "." 으로 구분한다.
- 자바는 프로그램을 효율적으로 작성할 수 있도록 관련 클래스들을 표준 패키지로 묶어서 사용자에게 제공한다.
import문
- 프로그램을 작성할 때 다른 패키지의 클래스를 사용하기 위해서는 패키지 명을 포함한 이름을 사용해야한다.
- import문을 사용하여 사용할 클래스의 패키지를 미리 명시해주면 사용되는 클래스이름에서 패키지명을 생략할 수 있다.
- 자바가 제공하는 java.lang.* 패키지는 자바를 컴파일 할 때 자동으로 import 되므로 java.lang.* 패키지의 클래스는 import 하지 않는다.
object 클래스
- java.lang.Object 클래스는 자바 클래스 최상위 클래스이다.
- 자바 표준 패키지의 클래스나 사용자에 의해 작성된 모든 클래스는 기본적으로 Object 클래스로 부터 상속 받는다.
주요 메소드
equals 메소드
원형 : public boolean equals(object obj) 인수 : obj : 비교할 객체 |
기능
- ==연산자와 마찬가지로 클래스 객체의 내용 값을 비교하는 것이 아니라 참조영역(주소)를 비교한다.
- 클래스 객체의 값 자체를 비교하기 위해서는 사용자가 equals 메소드를 재정의 하여야한다.
** String에서의 equals() 은 값을 비교한다.
toString 메소드
원형 public StringtoString() |
기능
-
객체에 대한 클래스 이름과 클래스 정보를 "클래스이름@16진수 해쉬코드값 " 형태의 문자열로 리턴한다.
-
사용자가 원하는 정보를 취득하기 위해서는 equals() 메소드와 마찬가지로 toString ()메소드를 재정의(오버로딩)하여 사용한다.
hashCode 메소드
원형 public hashCode() |
기능
- 객체에 대한 해쉬코드 값을 리턴한다.
- 해쉬코드는 JVM에서 객체를 빠르게 검색하기 위하여 사용하며, 동일한 객체는 동일한 해쉬코드 값을 가지고 있지만 그 반대는 성립하지 않는다.
Integer 클래스
주요 메소드
Integer.parseInt 메소드
원형 : public Integer.parseInt() |
기능
- 문자열을 정수로 변환한다.
Integer.toString메소드
원형 : public Integer.toString() |
기능
- 정수를 문자열로 변환한다.
String 클래스
주요 메소드
substring 메소드
원형 : substring(start, end) |
기능
- s번째 인덱스에서 e-1 인덱스까지의 인덱스를 추출한다.
- 한가지 숫자만 입력하면 입력한 인덱스부터 끝까지 추출한다.
equals 메소드
원형 : equals() |
기능
- 입력한 문자열과 참조값이 아닌 값을 비교하여 true/false를 반환한다.
equalsIgnoreCase 메소드
원형 : equalsIgnoreCase() |
기능
- 입력한 문자열과 참조값이 아닌 값을 비교하여 true/false를 반환한다.
- 값을 비교시 대소문자는 구분하지 않는다.
startsWith / endsWith 메소드
원형 : startsWith() / endsWith() |
기능
- 입력받은 문자열을 앞이나 뒤에서부터 비교하여 같은지 여부를 판별한다.
- true/false를 반환한다.
compareTo 메소드
원형 : compareTo(입력 받은 문자열) |
기능
- 입력받은 문자열을 사전식으로 판별하여 비교한다.
- 이때 반환되는 숫자는 아스키 코드값의 차이값이다.
- 차이값이 음수이면 입력한 문자가 뒤에 오는 순서고 양수면 반대이다.
indexOf 메소드
원형 : indexOf(입력받은 문자열) |
기능
- 입력받은 문자열의 시작 위치값을 반환한다.
- 입력받은 문자열이 겹치는 경우 처음에 있는 문자를 반환한다.
- lastIndexOf()를 사용하면 뒤에서부터 해당 문자를 찾고 위치값을 반환한다.
replace 메소드
원형 : replace(바꿀 문자열, 입력할 문자열) |
기능
- 문자열을 부분적으로 수정할 때 사용하는 메소드이다.
- 바꿀 문자열과 입력할 문자열을 작성한다.
replaceAll 메소드
원형 : replace(바꿀 문자열, 입력할 문자열) |
기능
- 문자열을 부분적으로 수정할 때 사용하는 메소드이다.
- replace와의 차이점은 정규식이 가능하다는 점이다.
- 규칙이나 패턴을 매개변수에 추가할 수 있다.
- \\ | = 또는 , \\s = 공백, \\d = 숫자
- 특정 범위를 기입시에는 [시작문자- 끝 문자] 입력한다. ex) 한글전체를 선택한다면 [가-힣]
trim 메소드
원형 : trim() |
기능
- 입력한 문자열 좌우의 공백을 제거해주는 메소드이다.
format 메소드
원형 : format("입력 양식", 입력하는 값) |
기능
- 입력할 형식을 정해 입력하는 메소드이다.
- printf와 사용방법이 동일하다.
toLowerCase 메소드
원형 : String toLowerCase() |
기능
- String 인스턴스에 저장되어 잇는 모든 문자열을 소문자로 변환하여 리턴한다.
toUpperCase 메소드
원형 : String toUpperCase() |
기능
- String 인스턴스에 저장되어 잇는 모든 문자열을 대문자로 변환하여 리턴한다.
split 메소드
원형 : split(나눠질 기준이 될 문자열) |
기능
- 나눠질 기준점을 입력해 기준을 토대로 문자열을 나눠주는 메소드이다.
- 사용시 나눠지는 값을 받기위해 주로 배열을 사용한다.
getBytes 메소드
원형 : getBytes() |
기능
- 입력한 문자열의 문자 하나하나의 아스키코드값을 반환한다.
- 사용시 배열사용.
s="KOREA"; // 아스키코드 값 출력
byte[] bb = s.getBytes();
for(int x : bb) {
System.out.print(x+" ");
}
System.out.println();
//75 79 82 69 65
StringBuffer 클래스 /StringBuilder 클래스
- 버퍼가 가변적인 길이를 가지므로 객체를 생성하는 시점에서 미리 그 크기나 값을 지정하거나 실행 시간에 버퍼의 크기를 바꿀수 있다.
- 버퍼란 입력속도에 비해 출력속도가 느린경우 데이터를 임시로 저장해두는 공간을 말한다.
- 가변적이지 않은 문자열처리에서 StringBuffer 나 StringBuilder를 사용하면 성능저하의 원인이다.
- STringBuffer와 StringBuilder의 차이점은 멀티 스레드 환경에서 동기화가 되는지 여부 차이다. builder는 동기화가 되지 않는다.
주요 메소드
append 메소드
원형 :append(추가할 문자열) |
기능
- 인수로 받은 데이터를 기존의 문자열에 추가하는 메소드로 다양한 데이터 형을 인수로 받을 수 있으며 문자열 추가후 결과로 자기 자신을 반환한다.
insert 메소드
원형 insert(삽입할 위치, 삽입할 문자열) |
기능
- 인수로 받은 데이터를 기존의 문자열의 특정 위치에 삽입메소드로 다양한 데이터 형을 인수로 받을 수 있으며 결과과로 자기 자신을 반환한다.
length 메소드
원형 int length() |
기능
- 문자열의 길이를 반환한다.
capacity 메소드
원형 int capacity() |
기능
- 버퍼의 크기를 반환한다.
trimToSize 메소드
원형 void trimToSize() |
기능
- 버퍼의 크기를 문자열의 크기로 맞춘다. 문자열이 없는 경우 버퍼의 크기를0으로 만든다.
delete 메소드
원형 StringBuffer delete (int start, int end) |
기능
- start 위치에서 end-1위치까지의 문자열을 삭제한다. start와 end가 같은 경우 삭제하지 않는다.
toString 메소드
원형 String toString() |
기능
- StringBuffer 객체의 값을 String으로 변환하여 리턴 한다.
setCharAt 메소드
원형 void setCharAt(int index, char ch) |
기능
- index 위치에 있는 문자를 ch를 반환한다.
'Language > JAVA' 카테고리의 다른 글
[TIL]자바의 기본 API - StringTokenizer 클래스 (0) | 2020.08.06 |
---|---|
[TIL] 자바의 기본 API - Wrapper 클래스 (0) | 2020.08.06 |
[TIL] JVM :Java Virtual Machine (0) | 2020.08.04 |
[TIL] 생성자 , 초기화 (0) | 2020.08.04 |
[TIL] this , this() (0) | 2020.08.04 |
댓글