当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java String用法及代码示例


字符串是字符序列。在Java中,String对象是不可变的,这意味着它是常量,一旦创建就不能更改。

创建字符串

Java中创建字符串有两种方法:

1. 字符串文字

String s = “GeeksforGeeks”;

2. 使用新的关键词

String s = new String (“GeeksforGeeks”);

Java 中的字符串构造函数

1. 字符串(字节[]byte_arr)

通过解码构造一个新的字符串字节数组。它使用平台的默认字符集进行解码。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
String s_byte =new String(b_arr); //Geeks

2. 字符串(字节[]byte_arr,字符集char_set)

通过解码构造一个新的字符串字节数组。它使用char_set用于解码。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s_byte_char = new String(b_arr, cs); //Geeks

3. 字符串(字节[]byte_arr,字符串char_set_name)

通过解码构造一个新的字符串字节数组。它使用char_set_name用于解码。它看起来与上面的结构类似,并且它们出现在类似的函数之前,但它需要字符串(包含char_set_name)作为参数,而上面的构造函数采用字符集。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, "US-ASCII"); //Geeks

4. 字符串(字节[] byte_arr, int start_index, int长度)

构造一个新字符串字节数组取决于start_index(起始位置)长度(从起始位置开始的字符数)。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, 1, 3); // eek

5. 字符串(字节[] byte_arr, int start_index, int长度, 字符集char_set)

构造一个新字符串字节数组取决于start_index(起始位置)长度(从起始位置开始的字符数).用途char_set用于解码。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
Charset cs = Charset.defaultCharset();
String s = new String(b_arr, 1, 3, cs); // eek

6. 字符串(字节[] byte_arr, int start_index, int 长度, 字符串char_set_name)

构造一个新字符串字节数组取决于start_index(起始位置)长度(从起始位置开始的字符数).用途char_set_name用于解码。

例子:

byte[] b_arr = {71, 101, 101, 107, 115};
String s = new String(b_arr, 1, 4, "US-ASCII"); // eeks

7. 字符串(char[]char_arr)

从给定的字符串中分配一个新的字符串字符数组

例子:

char char_arr[] = {'G', 'e', 'e', 'k', 's'};
String s = new String(char_arr); //Geeks

8. 字符串(char[] char_array, int start_index, int 计数)

从给定的字符串分配字符数组但选择数数字符来自start_index.

例子:

char char_arr[] = {'G', 'e', 'e', 'k', 's'};
String s = new String(char_arr , 1, 3); //eek

9. String(int[] uni_code_points, int 偏移量, int 计数)

从 a 分配一个字符串uni_code_array但选择数数字符来自start_index.

例子:

int[] uni_code = {71, 101, 101, 107, 115};
String s = new String(uni_code, 1, 3); //eek

10. 字符串(StringBuffer s_buffer)

从字符串中分配一个新字符串s_buffer

例子:

StringBuffer s_buffer = new StringBuffer("Geeks");
String s = new String(s_buffer); //Geeks

11. 字符串(StringBuilder s_builder)

从字符串中分配一个新字符串s_builder

例子:

StringBuilder s_builder = new StringBuilder("Geeks");
String s = new String(s_builder); //Geeks


Java 中的字符串方法

1.String length()

返回字符串中的字符数。

"GeeksforGeeks".length();  // returns 13

2. String charAt()

返回 i 处的字符thindex。

"GeeksforGeeks".charAt(3); // returns  ‘k’

3. 字符串子串(int i)

返回 i 中的子串th 结束索引字符。

"GeeksforGeeks".substring(3); // returns “ksforGeeks”

4. 字符串子串(int i,int j)

返回从 i 到 j-1 索引的子字符串。

 "GeeksforGeeks".substring(2, 5); // returns “eks”

5. String concat()

将指定字符串连接到该字符串的末尾。

 String s1 = ”Geeks”;
String s2 = ”forGeeks”;
String output = s1.concat(s2); // returns “GeeksforGeeks”

6. String indexOf()

返回指定字符串在字符串中第一次出现的索引。

如果输入字符串中不存在 String s,则返回 -1 作为默认值。

1.   String s = ”Learn Share Learn”;
int output = s.indexOf(“Share”); // returns 62. String s = "Learn Share Learn"
int output = s.indexOf(“Play”); // return -1

7. String indexOf()

返回指定字符串在字符串中第一次出现的索引,从指定索引开始。

 String s = ”Learn Share Learn”;
int output = s.indexOf("ea",3);// returns 13

8. Java.lang.String.lastIndexOf()

返回指定字符串最后一次出现的字符串中的索引。

如果输入字符串中不存在 String s,则返回 -1 作为默认值。

 1. String s = ”Learn Share Learn”;
int output = s.lastIndexOf("a"); // returns 142. String s = "Learn Share Learn"
int output = s.indexOf(“Play”); // return -1

9. Boolean equals()

将此字符串与指定对象进行比较。

 Boolean out = “Geeks”.equals(“Geeks”); // returns true
Boolean out = “Geeks”.equals(“geeks”); // returns false

10. 布尔值 equalsIgnoreCase (String anotherString)

将字符串与另一个字符串进行比较,忽略大小写。

 Boolean out= “Geeks”.equalsIgnoreCase(“Geeks”); // returns true
Boolean out = “Geeks”.equalsIgnoreCase(“geeks”); // returns true

11.intcompareTo(字符串另一个字符串)

按字典顺序比较两个字符串。

 int out = s1.compareTo(s2);  
// where s1 and s2 are
// strings to be compared
This returns difference s1-s2. If :
out < 0 // s1 comes before s2
out = 0 // s1 and s2 are equal.
out > 0 // s1 comes after s2.

12. String compareTo()

按字典顺序比较两个字符串,忽略大小写。

 int out = s1.compareToIgnoreCase(s2);  
// where s1 and s2 are
// strings to be compared
This returns difference s1-s2. If :
out < 0 // s1 comes before s2
out = 0 // s1 and s2 are equal.
out > 0 // s1 comes after s2.

Note: In this case, it will not consider case of a letter (it will ignore whether it is uppercase or lowercase).

13. String toLowerCase()

将字符串中的所有字符转换为小写。

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

14. 字符串toUpperCase()

将字符串中的所有字符转换为大写。

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

15. String trim()

通过删除两端的空格来返回字符串的副本。它不影响中间的空白。

String word1 = “ Learn Share Learn “;
String word2 = word1.trim(); // returns “Learn Share Learn”

16.Java.lang.string.replace()

通过替换所有出现的地方返回新字符串老查尔新字符。

String s1 = “feeksforfeeks“;
String s2 = “feeksforfeeks”.replace(‘f’ ,’g’); // returns “geeksforgeeks”

Note: s1 is still feeksforfeeks and s2 is geeksgorgeeks

17. String contains()

如果 string contains 包含给定字符串,则返回 true

String s1="geeksforgeeks";
String s2="geeks";
s1.contains(s2) // return true

18. String toCharArray()

将此字符串转换为新的字符数组。

String s1="geeksforgeeks";
char []ch=s1.toCharArray(); // returns [ 'g', 'e' , 'e' , 'k' , 's' , 'f', 'o', 'r' , 'g' , 'e' , 'e' , 'k' ,'s' ]

19.String startswith()

如果字符串以此前缀开头,则返回 true。

String s1="geeksforgeeks";
String s2="geeks";
s1.startsWith(s2) // return true

字符串构造函数和字符串方法的示例

下面是上述主题的实现:

// Java code to illustrate different constructors and methods
// String class.
import java.io.*;
import java.util.*;

// Driver Class
class Test
{
      // main function
    public static void main (String[] args)
    {
        String s= "GeeksforGeeks";
        // or String s= new String ("GeeksforGeeks");

        // Returns the number of characters in the String.
        System.out.println("String length = " + s.length());

        // Returns the character at ith index.
        System.out.println("Character at 3rd position = "
                           + s.charAt(3));

        // Return the substring from the ith  index character
        // to end of string
        System.out.println("Substring " + s.substring(3));

        // Returns the substring from i to j-1 index.
        System.out.println("Substring  = " + s.substring(2,5));

        // Concatenates string2 to the end of string1.
        String s1 = "Geeks";
        String s2 = "forGeeks";
        System.out.println("Concatenated string  = " +
                            s1.concat(s2));

        // Returns the index within the string
        // of the first occurrence of the specified string.
        String s4 = "Learn Share Learn";
        System.out.println("Index of Share " +
                           s4.indexOf("Share"));

        // Returns the index within the string of the
        // first occurrence of the specified string,
        // starting at the specified index.
        System.out.println("Index of a  = " +
                           s4.indexOf('a',3));

        // Checking equality of Strings
        Boolean out = "Geeks".equals("geeks");
        System.out.println("Checking Equality  " + out);
        out = "Geeks".equals("Geeks");
        System.out.println("Checking Equality  " + out);

        out = "Geeks".equalsIgnoreCase("gEeks ");
        System.out.println("Checking Equality " + out);

        //If ASCII difference is zero then the two strings are similar
        int out1 = s1.compareTo(s2);
        System.out.println("the difference between ASCII value is="+out1);
        // Converting cases
        String word1 = "GeeKyMe";
        System.out.println("Changing to lower Case " +
                            word1.toLowerCase());

        // Converting cases
        String word2 = "GeekyME";
        System.out.println("Changing to UPPER Case " +
                            word2.toUpperCase());

        // Trimming the word
        String word4 = " Learn Share Learn ";
        System.out.println("Trim the word " + word4.trim());

        // Replacing characters
        String str1 = "feeksforfeeks";
        System.out.println("Original String " + str1);
        String str2 = "feeksforfeeks".replace('f' ,'g') ;
        System.out.println("Replaced f with g -> " + str2);
    }
}

输出
String length = 13
Character at 3rd position = k
Substring ksforGeeks
Substring  = eks
Concatenated string  = GeeksforGeeks
Index of Share 6
Index of a  = 8
Checking Equality  false
Checking Equality ...


对于Set-2您可以参考:Java 中的 Java.lang.String 类 |套装2

本文由拉胡尔·阿格拉瓦尔 (Rahul Agrawal) 和我们乐于助人的用户。



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 String class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。