일반적으로 사용되는 Java 시스템 클래스

Java의 최상위 루트 클래스는 Object입니다.

객체는 모든 클래스의 조상이며 모든 객체의 기본 상태와 동작을 정의합니다. 클래스를 정의 할 때 상위 클래스가 지정되지 않은 경우에도 Java는 자동으로이를 Object의 하위 클래스로 정의합니다.

자바 코어 패키지

그 중 12 개 핵심 자바 패키지가 있습니다 :은
(1) java.lang 패키지는 모든 프로그래밍 응용 프로그램의 기본 클래스를 캡슐화가,
(2) java.util의 패키지는 시스템 기능 정의 및 사용, 날짜 기능 등의 유틸리티 클래스와 컬렉션 클래스를 제공합니다 클래스, 컬렉션 및 기타 도구;
(3) java.applet 패키지는 애플릿 실행에 필요한 모든 클래스, 주로 애플릿 콘텐츠에 액세스하기위한 통신 클래스를
제공합니다 . (4) java.rmi 패키지는 필요한 클래스를 제공합니다. 프로그램의 원격 메소드 호출을 위해.

자바의 시스템 클래스

System 클래스는 최종 클래스로 java.io 패키지에서 모든 메소드는 클래스 변수로 호출되며 System 클래스를 인스턴스화하는 것은 불가능합니다. System 클래스는 주로 표준 입력 / 출력 및 시스템 환경 정보에 대한 액세스 설정을 제공하는 데 사용됩니다. System 클래스의 속성은 다음과 같습니다 :
(1) public static final InputStream in : 표준 입력,
(2) public static final OutputStream 출력 : 표준 출력,
(3) public static final PrintStream 오류 : 표준 오류 출력.

자바의 문자열 클래스

String 메서드에서
(1) toLowerCase () 메서드는 소문자로 변환됩니다.
(2) valueOf () 메서드는 해당 값을 가져 오는 것입니다.
(3) charAt () 메서드는 지정된 위치에서 문자를 추출하는 것입니다. 캐릭터의 위치,
(4) APPEND ()는 (아닌 문자열 클래스) StringBuffer를하는 방법이다.

자바의 StringBuffer 클래스

StringBuffer 객체의 길이와 용량을 얻고 설정하는 방법은 length (), capacity (), setLength ()이며, 호출 방법은 다음과 같습니다.
(1) sl.length () : 문자 수를 반환합니다. sl; (영어 문자와 중국어 문자 모두 문자열 길이 임)
(2) sl.capacity () : sl의 용량, 즉 일반적으로 길이보다 큰 메모리 공간의 양을 반환합니다.
(3) sl.setLength ( int newLength) : sl의 문자 수를 변경합니다. newLength가 원래 숫자보다 크면 새로 추가 된 문자는 비어 있습니다 ( ""). 반대로 문자열의 마지막 몇 문자는 삭제됩니다.
예:

StringBuffer buf1=new StringBuffer(20);
System.out.println(buf1.length()+","+buf1.capacity());

결과:

0,20

String, StringBuffer 및 StringBuilder의 차이점

1. 정의 구분 :
문자열 : 문자열 상수 .
StringBuffer 및 StringBuilder는 문자 버퍼 변수 입니다.

2. 스레드 안전성 구분 :
StringBuffer 및 StringBuilder의 메서드와 함수는 완전히 동일하지만 StringBuffer의 대부분의 메서드는 동기화 된 키워드로 장식되어 있으므로 스레드로부터 안전 하지만 StringBuilder는 이러한 수정 사항이 없으며 스레드 로 간주 될 수 있습니다. 안전하지 않습니다 .

3. 실행 속도 :
StringBuilder 및 StringBuffer의 "변수"특성은 다음과 같이 요약됩니다.
(1) 추가, 삽입 및 삭제 메서드는 기본적으로 목표
(2) substring (int, int )을 달성하기 위해 System.arraycopy ()를 호출합니다. )) 방법은 String (value, start, end-start)을 갱신하여 목표를 달성하는 것입니다. 따라서 하위 문자열 작업을 수행 할 때 기본적으로 StringBuilder와 String간에 차이가 없습니다.
일반적으로 실행 속도 측면에서 세 가지 비교 : StringBuilder> StringBuffer> String.
4. 사용 시나리오 :
(1) String 클래스를 사용하는 시나리오 : String 클래스는 상수 선언 및 소량의 변수 연산과 같이 문자열이 자주 변경되지 않는 시나리오에서 사용할 수 있습니다.

(2) StringBuffer 클래스를 사용하는 시나리오 : 빈번한 문자열 작업 (예 : 스 플라이 싱, 교체, 삭제 등) 및 다중 스레드 환경에서 실행되는 경우 XML 구문 분석, HTTP 매개 변수 구문 분석 및 캡슐화.

(3) StringBuilder 클래스를 사용하는 시나리오 : 빈번한 문자열 작업 (예 : 스 플라이 싱, 교체, 삭제 등) 및 단일 스레드 환경에서 실행되는 경우 SQL 문 조립, JSON 패키징 등과 같은 StringBuilder 사용을 고려할 수 있습니다. …
5. 구별 :
(1) String 유형의 String 객체는 변경할 수 없습니다. 일단 String 객체가 생성되면이 객체에 포함 된 문자 시리즈는 객체가 파괴 될 때까지 변경할 수 없습니다.
(2) StringBuilder 및 StringBuffer 문자열 유형은 가변적입니다. 차이점은 StringBuffer 유형은 스레드로부터 안전하지만 StringBuilder는 스레드로부터 안전하지 않습니다.
(3) 공유 변수의 삽입 및 삭제와 관련된 다중 스레드 환경 인 경우 StringBuffer가 첫 번째 선택입니다. 다중 스레드가 아닌 작업이고 문자열 연결, 삽입 및 삭제 작업이 많은 경우 StringBuilder가 첫 번째 선택입니다. 결국 String 클래스는 메모리를 소모하고 비효율적 인 임시 변수를 생성하여 문자열 스 플라이 싱을 구현합니다 .. How to say StringBuilder는 JNI를 통해 궁극적 인 작업을 구현합니다.

String 클래스의 문자열 연결은 "+"를 사용하고 StringBuffer의 연결은 append () 메서드를 사용합니다.
StringBuffer는 String 클래스 객체로 직접 변환 할 수 없습니다. StringBuffer 객체를 String 클래스 객체로 변환하려면 toString () 메서드를 호출해야합니다.

문자열 생성 객체와 새 생성 객체의 차이점

에 동봉 따옴표 문자열 상수 (문자열)이며, 동봉 에서 작은 따옴표 있는 문자 상수 (문자).

String s1="bc";
String s2="bc";
创建了一个对象

Java는 문자열 풀을 사용하여 문자열을 관리하고 JVM은 Java 프로그램이 실행 중일 때 메모리에 문자열 버퍼 풀을 생성합니다. Java 변수 연산의 경우 메모리는 주로 스택과 힙의 두 부분으로 나뉩니다. 스택은 기본 유형 또는 내장 유형 (주로 char, byte, short, int, long, float, double, boolean 및 object 참조)을 저장하는 데 사용됩니다. 데이터를 공유 할 수 있습니다. 속도는 레지스터에 이어 두 번째로 빠릅니다. 힙. 힙은 객체를 저장하는 데 사용되는 메모리 공간이고 문자열 버퍼 풀은 힙 공간입니다. 힙은 암시 적 객체 (예 : 문자열 상수) 또는 표시 객체 (예 : new로 객체 생성)를 저장할 수 있습니다. 이 예에서 String s1 = "bc"를 사용하여 객체를 생성 할 때 JVM은 먼저 버퍼 풀에 값이 "bc"인 객체가 있는지 여부를 확인하고 그렇지 않은 경우 s1이 참조하도록 하나를 구성합니다. 그 물체. s2가 생성되면 JVM은 버퍼 풀에서 동일한 값을 가진 개체를 찾은 다음 s2는 s1이 참조하는 개체 "bc"를 참조합니다.

String s3="bc";
String s4=new String(s3);
创建了两个对象

이 예제에서 new 연산자는 개체를 만드는 데 사용됩니다.이 개체는 String 클래스의 생성자를 호출하여 매개 변수와 동일한 문자열 시퀀스를 나타내는 새 개체를 만듭니다. 즉, 새로 생성 된 문자열은 매개 변수 문자열의 복사본입니다. 따라서 두 개의 객체가 생성됩니다. 하나는 문자열 상수의 형태로 문자열 버퍼 풀에 생성되고 다른 하나는 new 연산자에 의해 힙에 생성됩니다.

Java (Matcher)의 Matcher 클래스

(1) boolean matcher.find () 메서드는 다음 패턴 일치 문자열을 찾는 데 사용됩니다.
(2) int matcher.start () 메서드는 일치하는 문자열의 시작 인덱스 정수 값을 반환하는 데 사용됩니다.
(3) int matcher.end (The) 메서드는 일치하는 문자열의 종료 인덱스의 정수 값을 반환하는 데 사용됩니다.
(4) 정적 부울 matches () 메서드는 입력 문자열과 패턴 문자열을 비교하는 데 사용됩니다.

추천

출처blog.csdn.net/zhanlong11/article/details/114417367