java학습7(152-165)--String클래스와StringBuffer,StringBuilder
13022 단어 StringBuilder
한 대상인데,
가장 큰 특징은 일단 초기화되면 바꿀 수 없다. 바뀌어도 바늘만 바뀐다.
상수도에 이미 존재하는 데이터는 더 이상 공간을 열지 않는다. 즉, 두 번째'abc'는 같은 대상을 가리킨다.
1.1 얻다
1.1.1 문자열에 포함된 문자수, 즉 문자열의 길이
int length();길이 얻기
1.1.2 위치에 따른 특정 문자 가져오기
char charAt(int index);
1.1.3 문자열에서 문자의 위치를 가져옵니다.
int indexof (int ch):ch가 문자열에서 처음 나타나는 위치를 되돌려줍니다
int indexof (int n, int fromIndex):fromIndex가 지정한 위치에서 시작하여ch가 문자열에 나타나는 위치를 가져옵니다
int indexof(String str): 문자열에 처음 나타나는 str의 위치를 반환합니다.
int indexof(String str, int fromIndex):fromIndex가 지정한 위치부터 문자열에 str가 나타나는 위치를 가져옵니다.
int lastIndexof (int ch): 위치를 거꾸로 가져오기
1.2 판단
1.2.1 문자열에 하위 문자열이 포함되어 있는지 여부
boolean contains(str)
특이점: indexOf (str)는 str의 첫 번째 위치를 인덱스할 수 있습니다. -1로 되돌아오면 이 str가 문자열에 존재하지 않기 때문에 지정한 문자열에 포함될지 여부를 판단하는 데도 사용할 수 있습니다.
if(str.indexOf("aa")!=-1)
그리고 이 방법은 판단할 수도 있고 출현 위치도 얻을 수 있다
1.2.2 문자열에 내용이 있는지 여부
boolean isEmpty();원리는 길이가 0인지 아닌지를 판단하는 것이다
1.2.3 문자열이 지정된 내용으로 시작되는지 여부
boolean statsWith(str);
1.2.4 문자열이 지정된 내용으로 끝날지 여부
boolean endsWith(str);
1.2.5 문자열의 내용이 같은지 판단한다.Object 클래스의 equals 덮어쓰기 방법
boolean equals(str)
1.2.6 내용이 동일한지 판단하고 대소문자 무시
boolean equalsIgnoreCase();
1.3 변환
1.3.1 문자 배열을 문자열로 변환
구조 함수:String(char[])
String(char[], offset, count): 문자 배열의 일부를 문자열로 변환
정적 방법: static String copyValue Of(char[]),
static String copyValueOf(char[] data,int offset,int count)
static String valueOf(char[]);
1.3.2 문자열을 문자열 배열로 변환
char[] toCharArray();
1.3.3 바이트 그룹을 문자열로 변환
String(byte[])
String(byte[],offset,count): 바이트 배열의 일부를 문자열로 변환
1.3.4 문자열을 바이트 그룹으로 변환
byte[] getBytes();
1.3.5 기본 데이터 형식을 문자열로 변환
static String valueOf(int)
static String valueOf(double)
1.4 교체
String replace(old char,newchar)
새 열을 되돌려줍니다. 원래 열은 변하지 않습니다.
대체 문자가 존재하지 않습니다. 원래 문자열로 돌아갑니다.
1.5. 절단
String[] split(regex);
1.6 하위 문자열
문자열의 일부분 가져오기
String subString(begin);//지정된 위치에서 끝까지
String subString(begin,end);//머리와 꼬리를 포함하지 않기 때문에 전체 문자열은 0부터 String까지입니다.length
1.7 변환, 공백 제거, 비교
1.7.1 문자열을 대문자 또는 소문자로 변환
String toUpperCase();
String toLowerCase();
1.7.2 문자열의 양 끝에 있는 여러 공백을 제거한다
String trim()
1.7.3 두 문자열의 자연 순서 비교
int compareTo(string);
1 package learn;
2 /*
3 *
4 *
5 * */
6 public class StringTest3 {
7 public static String getMaxSubString(String s1,String s2)
8 {
9 String max="",min="";
10 max=(s1.length()>s2.length()?s1:s2);
11 min=(max==s1?s2:s1);
12 for(int x=0;x<max.length();x++)
13 {
14 for(int y=0,z=min.length()-x;z!=min.length()+1;y++,z++)
15 {
16 String temp=min.substring(y,z);
17 // sop(temp);
18 if(s1.contains(temp))//if(s1.indexof(temp)!=-1)
19 return temp;
20 }
21 }
22 return "";
23 }
24 public static void main(String[] args) {
25 String s1="abcwerthelloyuiodef";
26 String s2="cvhellobnm";
27 sop(getMaxSubString(s1,s2));
28 }
29 public static void sop(String str)
30 {
31 System.out.println(str);
32 }
33 }
1.8、StringBuffer
문자열 버퍼입니다. 용기입니다.
특징
(1) 길이 변경 가능
(2) 여러 데이터 형식을 바이트로 조작할 수 있다
(3) 최종적으로 toString 방법으로 문자열을 프로그래밍합니다
1.8.1.저장 장치
StringBuffer append(): 지정된 데이터를 기존 데이터의 끝에 매개변수로 추가
StringBuffer insert(index, 모든 데이터 유형);지정한 index 위치에 데이터를 삽입할 수 있습니다
1.8.2.삭제
StringBuffer delete(start, end): 버퍼에 있는 데이터를 삭제합니다. start를 포함하고 end를 포함하지 않습니다.
StringBuffer deleteCharAt(index): 지정된 위치의 문자 삭제
1.8.3.얻다
char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
int length();
String substring(int start,int end)
1.8.4.수정
StringBuffer replace(start,end,string)
void setCharAt(ine index,char ch)
1.8.5.반전
StringBuffer reverse();
1.8.6 버퍼에 지정된 데이터를 지정된 배열에 저장
getChar(int srcBegin, int srcEnd, char[] dst, int dstBegin);
JDK1.5 이후에 StringBuilder가 나타났는데 StringBuffer 스레드가 동기화되는 것과 달리 StringBuilder 스레드가 동기화되지 않습니다.
1 package learn;
2
3 public class StringBufferDemo {
4 public static void main(String[] args)
5 {
6 StringBuffer sb=new StringBuffer();
7 sb.append("abc").append(true).append(34);
8
9 sb.insert(1,"qq");
10 sop(sb.toString());
11 }
12 public static void sop(String str)
13 {
14 System.out.println(str);
15 }
16 }
1.9 업그레이드의 세 가지 요소
(1) 효율성 향상
(2) 간략하게 쓰기
(3) 보안 강화
2. 기본 데이터 유형 대상 포장 유형
int Integer
char Character
다른 건 다 이니셜이에요.
가장 흔한 작용
기본 데이터 형식과 문자열 사이의 변환에 사용합니다
기본 데이터 형식을 문자열로 바꾸기
기본 데이터 유형 + ""
기본 데이터 유형.toString(기본 데이터 유형 값);
예: Integer.toString(34);//34를'34'로 돌리기;
문자열을 기본 데이터 형식으로 바꾸기
xxx a = Xxx.parseXxx(String);//정적 호출 방식
int a = Int.parseInt("123");
double b = Double.parseDouble("12.23");
boolean b = Boolean.parseBoolean("true");
Integer i = new Integer("123");//비정상, 대상 호출 방식
int num = i.intValue();
십진법을 다른 진법으로 바꾸다
toBinaryString();
toHexString();
toOctalString();
기타 진법을 10진법으로 바꾸다
parseInt(String,radix);
1 package learn;
2
3 public class IntegerDemo {
4 public static void main(String[] args) {
5 Integer x=4;
6 x=x/*x.intValue()*/+2;// , , x
7 Integer m=128;
8 Integer n=128;
9 sop("m==n:"+(m==n));//false
10
11 Integer a=127;
12 Integer b=127;
13 sop("a==b:"+(a==b));//true a b
14 // byte , , ,
15 }
16 public static void sop(String str)
17 {
18 System.out.println(str);
19 }
20
21 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
String, StringBuffer, StringBuilder 어떻게 다른가?이 String 객체는 어떻게 선언을 하냐에 따라 JVM내의 String constant pool에 저장되기도하고, Heap 영역에 저장되기도 한다. 리터럴 방식으로 생성하게 되면 String constant poo...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.