String 클래스:
문자열을 나타내며 개발 시 일반적으로 사용되는 문자열 처리 방법(예: 문자열 길이 찾기, 문자열 가로채기, 문자열 바꾸기 등)을 제공합니다. 문자열은 상수이며 한 번 값이 생성되면 수정할 수 없습니다.
먼저 공식 문서에서 공식이 String 클래스에 대해 어떤 메서드를 설정했는지 확인해 보겠습니다. String도 java.lang 패키지에 속하므로 여기에 부분적으로 표시됩니다. 전체 내용을 참조할 수 있습니다:
https:/ /docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html
일반적으로 사용되는 여러 가지 메소드:
charAt(int index):
문자 첨자를 입력하고 문자를 가로채면 반환 값은 char 유형입니다.
String str = "hello world"; char a = str.charAt(0); System.out.println(a);
//출력: h
compareTo(String anotherString): 두 항목을 비교합니다. 아래 첨자가 다른 문자에 해당하는 문자와 먼저 일치하도록 문자열을 반환하고, ASCII 코드의 차이를 반환하고, 대소문자를 무시하지 않고 반환합니다. 문자열 유형:
String str = "hello world"; int a = str.compareTo("Aello world"); System.out.println(a);
//h와 A 비교, 출력 39
compareToIgnoreCase(String str ): 크기를 무시하고 사전 순서로 두 문자열을 비교합니다. 쓰기, 반환 문자열 유형:
String str = "hello world"; int a = str.compareToIgnoreCase("Aello world"); System.out.println(a);
//h를 A와 비교, 출력 7
concat(String str): 문자열 연결:
String str = "hello world"; String a = str.concat("abc"); System.out.println(a);
//출력: hello worldabc
이 메소드는 특정 문자열이 대상 문자열에 포함되어 있는지 확인하는 데 사용되며 부울 값을 반환합니다.
String str = "hello world"; boolean a = str.contains("e"); //传入需要判断的值 System.out.println(a)
//Output: true
boolean a = str.contains("a"); //判断a System.out.println(a);
//Output false
endsWith( String suffix): 지정된 문자열로 끝나는지 확인(사용자 이메일 접미사로 판단 가능) Return Boolean 값:
String str = "1234567489@qq.com"; boolean a = str.endsWith("@qq.com"); //需要判断的内容 System.out.println(a);
//Output: true
startsWith(String prefix): 문자열이 지정된 문자열로 시작하는지 확인 접두사: (웹사이트 판단) 부울 값 반환:
String str = "www.baidu.com"; boolean a = str.startsWith("www"); System.out.println(a);
//출력: true
equals(Object anObject): 문자열을 지정된 문자열과 비교하여 동일한지 확인하고 대소문자를 구분하며 부울 값을 반환합니다.
String str = "www.baidu.com"; boolean a = str.equals("Www.baidu.com"); //第一个w改为大写W System.out.println(a);
//출력: false
//동일하면 true를 출력합니다
equalsIgnoreCase(String anotherString): 문자열을 지정된 문자열과 비교하여 대소문자를 구분하지 않고 부울 값을 반환합니다.
String str = "www.baidu.com"; boolean a = str.equalsIgnoreCase("Www.Baidu.com"); //第一个w改为大写W System.out.println(a); //不区分大小写后,即使一个或多个字符改为大写,也不影响判断
//Output true
indexOf(String str): 지정된 값이 문자열에서 처음 발견된 인덱스를 반환하고 int 유형을 반환합니다.
String str = "www.baidu.com"; int a = str.indexOf("a"); //判断a System.out.println(a);
//출력: 5
lastIndexOf(String str): 지정된 값이 문자열에서 마지막으로 발견된 인덱스를 반환하고 int 유형을 반환합니다:
String str = "www.baidu.com"; int a = str.indexOf("a"); //判断a,因为这个字符串只有一个a,所以还是5 System.out.println(a);
//출력: 5
length(): 문자열 길이를 반환합니다. int 유형:
String str = "www.baidu.com"; int a = str.length(); System.out.println(a);
//출력: 13
toLowerCase(): 문자열을 소문자로 변환합니다. 원래 소문자인 경우 변경되지 않고 문자열 유형이 반환됩니다:
String str = "www.BAIDU.com"; String a = str.toLowerCase(); System.out.println(a);
//Output: www.baidu.com
toUpperCase(): 문자열을 대문자로 변환:
String str = "www.BAIDU.com"; String a = str.toLowerCase(); System.out.println(a);
//Output: WWW.BAIDU.COM
trim(): 문자열 양쪽 끝의 공백 제거:
String str = " www.baidu.com "; //在前后端输出多个空格 String a = str.trim(); System.out.println(a);
//Output: www .baidu.com
String substring(int BeginIndex,int endIndex): 문자열 가로채기(인덱스에 BeginIndex가 포함되어 있고 endIndex가 포함되어 있지 않음):
String str = "www.baidu.com"; String a = str.substring(0,6); //截取下标0开始,6结束(不包含下标为6的字符) System.out.println(a);
//Output: www.ba
String 다양한 방법이 있습니다 , 여기에 나열되지 않은 내용은 공식 웹사이트 문서를 참조하여 사용할 수 있습니다.
한 문자 문자열 개체의 길이는 변경할 수 없으며 해당 내용을 수정하거나 새 문자를 추가할 수 없습니다. 실제로 이것이 비즈니스 요구를 충족할 수 없는 경우도 있고 항상 문자열을 변경해야 하는 경우도 있기 때문에 Java에서는 StringBuffer와 StringBuilder라는 두 가지 유형의 가변 문자열 문자열 버퍼를 제공합니다.
먼저 공식 소개를 읽어보세요.
간단히 말하면 StringBuffer는 특정 메서드를 호출하여 열의 길이와 내용을 변경할 수 있습니다. 특히 다음을 참조할 수 있습니다.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StringBuffer.html
공식 추가 방법을 많이 사용합니다. 다운로드 양식은 다양한 비즈니스 로직의 요구 사항을 충족합니다. StringBuffer를 사용하려면 클래스이기 때문에 먼저 객체를 생성해야 합니다
public class StringBuffertest { public static void main(String[] args) { String str = "hello world"; StringBuffer s = new StringBuffer(str); //创建StringBuffer类,这个和普通类创建方法是一样的 s.append("hello world"); //使用StringBuffer的append方法 System.out.println(s); } }
//출력: hello worldhello world
//이렇게 하면 문자열 수정이 완료됩니다
StringBuilder의 사용법은 동일합니다:
String str = "hello world"; StringBuilder s = new StringBuilder(str);
그런 다음 String, StringBuilder 및 StringBuffer의 차이점은 무엇입니까?
가변성: 문자열은 불변 문자 시퀀스이고 빌더와 버퍼는 가변 문자 시퀀스입니다
安全性:String是线程安全的,StringBuilder是线程不安全的,StringBuffer是线程安全。StringBuidler效率高于StringBuffer。因为String是不可变的一般情况下,效率最低。
使用场景:如果字符串创建后基本上不需要更改,使用String类型,如果需要更改操作较多使用StringBuilder,如果要求线程安全使用StringBuffer。
StringBuffer和StringBuilder类的好处:
对象能够被多次的修改,并且不产生新的未使用对象
String类总结:
String有哪些特性:
不变性:String 是只读字符串,是一个典型的 immutable 对象,对它进行任何操作,其实都是创 建一个新的对象,再把引用指向该对象。不变模式的主要作用是确保在对象需要被多个线程频繁访问和共享时,数据的一致性不会被破坏。
常量池优化:String 对象创建之后,会在字符串常量池中进行缓存,如果下次创建同样的对象时, 会直接返回缓存的引用。
final:使用 final 来定义 String 类,表示 String 类不能被继承,提高了系统的安全性。
小扩展:什么是字符串常量池?
字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存的使用率,避免开辟多块空间存储相同的字符串,在创建字符串时 JVM 会首先检查字符串常量池,如果该字符串已经存在池中,则返回它的引用,如果不存在,则实例化一个字符串放到池中,并返回其引用。
字符型常量(char)和字符串常量(String)的区别:
形式上:字符常量是单引号引起的一个字符 字符串常量是双引号引起的若干个字符
含义上:字符常量相当于一个整形值(ASCII值),可以参加表达式运算,字符串常量代表一个地址值(该字符串在内存中存放位置)
占内存大小:字符常量只占一个字节 字符串常量占若干个字节(至少一个字符结束标志)
特别注意: 我们知道数组也有 length(),用来判断该数组长度:
int [] a = {1,2,3,4,5}; system.out.println(a.length);
//输出:5
但是千万要注意:
数组中length()是属性,String中length()是方法!! 数组中length()是属性,String中length()是方法!! 数组中length()是属性,String中length()是方法!!
위 내용은 Java에서 String 클래스를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!