Java 노트(21)...String 및 StringBuffer
8132 단어 StringBuffer
String 클래스
String 클래스는 특수한 클래스로 읽기 전용 클래스라고 하는데 일단 대상을 만들면 바꿀 수 없다. 마찬가지로'abc'는 상수일 뿐만 아니라 대상일 뿐만 아니라 바꿀 수 없는 것이다.
String s1 = “abc”;
이 문장은 단지 하나의 대상만 포함한다. 즉, "abc"이다
String s2 = new String(“abc”);
이 문장은 두 개의 대상을 포함하는데, "abc"는 하나의 대상이고, new String은 하나의 대상이다
그래서 s1과 s2의 주소 값은 다르다
String 클래스 일반 작업
얻다
int length(): 문자열 길이 가져오기
char charAt(int index): 문자열의 특정 위치에서 문자 가져오기
문자열에서 문자의 위치를 가져옵니다.
int indexOf (int ch): 문자열에 처음 나타나는 ch의 위치를 되돌려줍니다.
int indexOf (int ch, int fromIndex):fromIndex가 지정한 위치부터 문자열에 나타나는 위치를 가져옵니다.
int indexOf (String str): 문자열에서 str가 처음 나타나는 위치를 되돌려줍니다
int indexOf(String str, int fromIndex):fromIndex가 지정한 위치부터 str가 문자열에 나타나는 위치를 가져옵니다.
int lastIndex Of (int ch): 문자열에서 ch가 마지막으로 나타나는 위치를 끝에서 가져옵니다.
판단
문자열에 문자열이 포함되어 있는지 여부
boolean contains(String str)
특이점: indexOf (str)는 str가 처음 나타난 위치를 인덱스할 수 있습니다. -1로 되돌아오면 이 str가 문자열에 없음을 표시하기 때문에 지정한 문자열의 포함 여부를 판단하는 데도 사용할 수 있습니다.
문자열에 내용이 있는지 여부
boolean isEmpty(): 길이가 0인지 아닌지를 판단하는 원리
문자열이 지정한 내용으로 시작되는지 여부
boolean startWith(str)
문자열이 지정한 내용으로 끝날지 여부
boolean endsWith(str)
문자열의 내용이 동일한지 판단하고 Object의 equals 메서드를 복사합니다.
boolean equals(str)
내용이 동일한지 판단하는 동시에 대소문자를 무시합니다
boolean equalsIgnoreCase()
바꾸다
문자열로 문자열 배열 변환하기
구조 함수:
String(char[])
String(char[], offset, count): 문자 배열의 일부를 문자열로 변환
정적 방법
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count)
static String valueOf(char[])
문자열을 문자열 배열로 바꾸기
char[] toCharArray()
바이트 그룹을 문자열로 바꾸기
구조 함수:
String(byte[])
String(byte[],offset,count): 바이트 배열의 일부를 문자열로 변환
문자열을 바이트 그룹으로 바꾸기
byte[] getBytes()
기본 데이터 형식을 문자열로 바꾸기
static String valueOf(int)
static String valueOf(double)
//3+"";=====String.valueOf(3);
특수: 문자열과 바이트 그룹은 변환 과정에서 인코딩표를 지정할 수 있습니다
바꾸다
String replace(oldchar,newchar);
절단하다
String[] split(regex);
문자열의 일부분을 가져오는 하위 문자열
String subString(begin)
String subString(begin,end);
변환:공백 제거, 비교
문자열을 대문자나 소문자로 바꾸다
String toUpperCase();
String toLowerCase();
문자열의 양쪽 끝에 있는 여러 공백을 제거합니다.
String trim();
두 문자열의 자연 순서 비교
int compareTo(String str)
StringBuffer 클래스
StringBuffer는 컨테이너입니다.
특징:
얻다
int length(): 문자열 길이 가져오기
char charAt(int index): 문자열의 특정 위치에서 문자 가져오기
문자열에서 문자의 위치를 가져옵니다.
int indexOf (int ch): 문자열에 처음 나타나는 ch의 위치를 되돌려줍니다.
int indexOf (int ch, int fromIndex):fromIndex가 지정한 위치부터 문자열에 나타나는 위치를 가져옵니다.
int indexOf (String str): 문자열에서 str가 처음 나타나는 위치를 되돌려줍니다
int indexOf(String str, int fromIndex):fromIndex가 지정한 위치부터 str가 문자열에 나타나는 위치를 가져옵니다.
int lastIndex Of (int ch): 문자열에서 ch가 마지막으로 나타나는 위치를 끝에서 가져옵니다.
판단
문자열에 문자열이 포함되어 있는지 여부
boolean contains(String str)
특이점: indexOf (str)는 str가 처음 나타난 위치를 인덱스할 수 있습니다. -1로 되돌아오면 이 str가 문자열에 없음을 표시하기 때문에 지정한 문자열의 포함 여부를 판단하는 데도 사용할 수 있습니다.
문자열에 내용이 있는지 여부
boolean isEmpty(): 길이가 0인지 아닌지를 판단하는 원리
문자열이 지정한 내용으로 시작되는지 여부
boolean startWith(str)
문자열이 지정한 내용으로 끝날지 여부
boolean endsWith(str)
문자열의 내용이 동일한지 판단하고 Object의 equals 메서드를 복사합니다.
boolean equals(str)
내용이 동일한지 판단하는 동시에 대소문자를 무시합니다
boolean equalsIgnoreCase()
바꾸다
문자열로 문자열 배열 변환하기
구조 함수:
String(char[])
String(char[], offset, count): 문자 배열의 일부를 문자열로 변환
정적 방법
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count)
static String valueOf(char[])
문자열을 문자열 배열로 바꾸기
char[] toCharArray()
바이트 그룹을 문자열로 바꾸기
구조 함수:
String(byte[])
String(byte[],offset,count): 바이트 배열의 일부를 문자열로 변환
문자열을 바이트 그룹으로 바꾸기
byte[] getBytes()
기본 데이터 형식을 문자열로 바꾸기
static String valueOf(int)
static String valueOf(double)
//3+"";=====String.valueOf(3);
특수: 문자열과 바이트 그룹은 변환 과정에서 인코딩표를 지정할 수 있습니다
바꾸다
String replace(oldchar,newchar);
절단하다
String[] split(regex);
문자열의 일부분을 가져오는 하위 문자열
String subString(begin)
String subString(begin,end);
변환:공백 제거, 비교
문자열을 대문자나 소문자로 바꾸다
String toUpperCase();
String toLowerCase();
문자열의 양쪽 끝에 있는 여러 공백을 제거합니다.
String trim();
두 문자열의 자연 순서 비교
int compareTo(String str)
StringBuffer 클래스
StringBuffer는 컨테이너입니다.
특징:
StringBuffer 클래스 일반 작업
C create U update R read D delete
저장 장치
StringBuffer append(): 지정된 데이터를 기존 데이터의 끝에 매개변수로 추가
StringBuffer insert (index, 데이터): 지정한 index 위치에 데이터를 삽입할 수 있습니다
삭제
StringBuffer delete(start,end): 버퍼에 있는 데이터를 삭제합니다. start를 포함하고end를 포함하지 않습니다.
StringBuffer deleteCharAt(index): 지정된 위치의 문자 삭제
얻다
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String subString(int start,int end)
수정
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch)
반전
StringBuffer reverse()
버퍼에서 지정한 데이터를 지정한 문자 그룹에 저장합니다
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
StringBuilder 클래스
JDK1.5 다음에 StringBuilder 클래스가 나왔어요.
StringBuffer와 StringBuilder의 차이점
StringBuffer는 스레드 동기화
StringBuilder는 스레드가 동기화되지 않습니다.
... 에 의하여
업그레이드에는 세 가지 요소가 있습니다.
JDK1.5 다음에 StringBuilder 클래스가 나왔어요.
StringBuffer와 StringBuilder의 차이점
StringBuffer는 스레드 동기화
StringBuilder는 스레드가 동기화되지 않습니다.
... 에 의하여
업그레이드에는 세 가지 요소가 있습니다.
StringBuilder 의 효율성이 높기 때문에 StringBuilder 를 사용하는 것이 좋습니다.
기본 데이터 유형 객체 패키지 클래스
byte
Byte
short
Short
int
Integer
long
Long
boolean
Boolean
float
Float
double
Double
char
Character
기본 데이터 유형 대상 포장류의 가장 흔한 역할
기본 데이터 형식과 문자열 형식 사이의 변환에 사용
기본 데이터 형식을 문자열로 바꾸기
기본 데이터 유형 + ""
기본 데이터 유형.toString(기본 데이터 유형 값)
예: Integer.toString(123);
문자열을 기본 데이터 형식으로 바꾸기
xxx a = Xxx.parseXxx(String);
예:
정적 방법:
int a = Integer.parseInt();
double d = Double.parseDouble();
boolean b = Boolean.parseBoolean(“true”);
객체 호출:
Integer i = new Integer(“123”);
int num = i.intValue();
10진수를 다른 진수로 바꾸기
Integer.toBinaryString(): 바이너리
Integer.toHexString(): 16진수
Integer.toOctalString(): 8진수
기타 10진법
Integer.parseInt(String,radix);
특수한 예
1: class IntegerDemo
2: {
3: public static void main(String[] args)
4: {
5: //JDK1.5
6:
7: Integer x = 4;// , new Integer(4)
8:
9: x = x + 2;//x , int 2 ,
10:
11: Integer i = null;//
12:
13: Integer m = 128;
14: Integer n = 128;
15:
16: // false,
17: System.out.println(m==n);
18:
19: Integer a = 127;
20: Integer b = 127;
21: /*
22: true, a b
23: byte , , ,
24: @Tony_ ,
25:
26: ,
27: */
28: System.out.println(a==b);
29: }
30: }
열혈 시청자 @Tony칠학생은 이것이 디자인 모델 중의 형원 모델로 메모리 사용량을 최대한 줄이고 정보를 공유하는 데 사용할 수 있는 비슷한 물건을 최대한 많이 가르쳐 주셔서 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JAVA] String과 == 연산, String '+' 연산과 StringBuilder, StringBuffer의 차이점
자바에서는 '=='을 사용할 경우 인스턴스의 참조 값을 비교합니다.
a와 b는 "Hello World"라는 같은 문자열을 가지기 때문에,
그래서 당연히 a와 b는 동일한 레퍼런스를 가지기 때문에 '==' 비교에서 t...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
1: class IntegerDemo
2: {
3: public static void main(String[] args)
4: {
5: //JDK1.5
6:
7: Integer x = 4;// , new Integer(4)
8:
9: x = x + 2;//x , int 2 ,
10:
11: Integer i = null;//
12:
13: Integer m = 128;
14: Integer n = 128;
15:
16: // false,
17: System.out.println(m==n);
18:
19: Integer a = 127;
20: Integer b = 127;
21: /*
22: true, a b
23: byte , , ,
24: @Tony_ ,
25:
26: ,
27: */
28: System.out.println(a==b);
29: }
30: }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JAVA] String과 == 연산, String '+' 연산과 StringBuilder, StringBuffer의 차이점자바에서는 '=='을 사용할 경우 인스턴스의 참조 값을 비교합니다. a와 b는 "Hello World"라는 같은 문자열을 가지기 때문에, 그래서 당연히 a와 b는 동일한 레퍼런스를 가지기 때문에 '==' 비교에서 t...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.