专业编程基础技术教程

网站首页 > 基础教程 正文

java中的String(java中的string类型)

ccvgpt 2024-07-26 00:14:46 基础教程 5 ℃

字符串是一系列字符。 在java中,String的对象是不可变的,这意味着一个常量,一旦创建就无法更改。

创建一个字符串

创建一个字符串有两种方式如下:

java中的String(java中的string类型)

  1. String literal
String webUrl="1024rank.com";

2.Using new keyword

String webUrlNew= new String("1024rank.com");

构造函数

String(byte [] byte_arr) - 通过字节数组构造一个新的String。它使用平台的默认字符集进行解码

byte[] demoArray = { 102, 101, 107, 115};
String s =new String(demoArray); //1024rank.com

String(byte [] byte_arr,Charset char_set) - 通过解码字节数组构造一个新的String。它使用char_set进行解码。

byte[] demoArray = { 102, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s =new String(demoArray,cs); //1024rank.com

String(byte [] byte_arr,String char_set_name) - 通过字节数组构造一个新的String。它使用char_set_name进行解码。它看起来类似于上面的结构,它们在类似的函数之前,但它将String(包含char_set_name)作为参数,而上面的构造函数采用CharSet。

byte[] demoArray = { 102, 101, 107, 115};
String s =new String(demoArray,"US-ASCII"); //1024rank.com

String(byte [] byte_arr,int start_index,int length) - 根据start_index(起始位置)和length(起始位置的字符数),从bytes数组构造一个新字符串

byte[] demoArray = { 102, 101, 107, 115};
String s =new String(demoArray,1,3); //1024rank.com
System.out.print(s);

String(char [] char_arr) - 从给定的Character数组中分配一个新的String

char charArr[] = {'1', '0', '2', '4', 'r','a','n','k'};
String s = new String(charArr); //1024rank.com
System.out.print(s);

String(StringBufferprouffuff) - 从fixuffer中的字符串分配一个新字符串

StringBuffer buffer = new StringBuffer("1024rank.com");
String s = new String(buffer);
System.out.print(s);

String(StringBuilder s_builder) - 从s_builder中的字符串分配新字符串

StringBuilder builder = new StringBuilder("1024rank.com");
String s = new String(builder); //1024rank
System.out.print(s);

String Methods

int length():返回String中的字符数。

"1024rank.com".length();

Char charAt(int i):返回第i个索引处的字符。

"1024rank.com".charAt(3); 

String substring(int i,int j):返回从i到j-1索引的子字符串。

"1024rank.com".substring(3); 

String substring(int i,int j):返回从i到j-1索引的子字符串。

 "1024rank.com".substring(2, 5); 

String concat(String str):将指定的字符串连接到此字符串的末尾。

 String s1 = ”1024”;
 String s2 = ”rank”;
 String output = s1.concat(s2); 

int indexOf(String s):返回指定字符串第一次出现的字符串中的索引。

String s = ”san sui ran”;
 int output = s.indexOf(“sui”);

int indexOf(String s,int i):从指定的索引处开始,返回指定字符串第一次出现的字符串中的索引。

 String s = ”san sui ran”;
 int output = s.indexOf(‘a’,3);

Int lastindexOf(int ch):返回指定字符串最后一次出现的字符串中的索引。

String s = ”san sui ran”;
 int output = s.lastindexOf(‘a’);

boolean equals(Object otherObj):将此字符串与指定的对象进行比较。

 Boolean out= “1024Rank”.equalsIgnoreCase(“1024rank”); // returns true
 Boolean out = “1024Rank”.equalsIgnoreCase(“1024rank”); // returns true

int compareTo(String anotherString):按字典顺序比较两个字符串。

 int out = s1.compareTo(s2);

int compareToIgnoreCase(String anotherString):按字典顺序比较两个字符串,忽略大小写考虑因素。

 int out = s1.compareToIgnoreCase(s2); 

String toLowerCase():将String中的所有字符转换为小写。

String word1 = “HeLLo”;
String word3 = word1.toLowerCase(); // returns “hello"

String toUpperCase():将String中的所有字符转换为大写。

String word1 = “HeLLo”;
String word2 = word1.toUpperCase(); // returns “HELLO”

String trim():通过删除两端的空格来返回String的副本。它不会影响中间的空白。

String word1 = “ 1024 rank “;
String word2 = word1.trim();

String replace (char oldChar, char newChar): 通过将所有出现的oldChar替换为newChar来返回新字符串。

String s2 = “2014rank”.replace(‘2’ ,’1’); 


问什么String不可变?

问什么要设计不可变的呢?

1. 字符串常量池的需要



本文版权归是三僡然所有,转载请标明出处。欢迎转载,欢迎评论,欢迎分享。如果你有文章想分享可以联系我。

Tags:

最近发表
标签列表