美文网首页
Java:String 类

Java:String 类

作者: iOS_修心 | 来源:发表于2023-05-15 23:27 被阅读0次

一.String

  • String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上

  • String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了

  • 通过构造方法创建
    通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同

  • 直接赋值方式创建
    以“”方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护

// String 直接创建
String str = "Runoob";
// String 对象创建
String str2=new String("Runoob");
// 字符数组创建
char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
String helloString = new String(helloArray);  

二. 常用功能

  • 打印字符串
System.out.printf("浮点型变量的值为 " +
                 "%f, 整型变量的值为 " +
                 " %d, 字符串变量的值为 " +
                 "is %s", floatVar, intVar, stringVar);
  • 格式化字符串: String 类使用静态方法 format() 返回一个String 对象而不是 PrintStream 对象。
String fs = String.format("浮点型变量的值为 " +
                  "%f, 整型变量的值为 " +
                  " %d, 字符串变量的值为 " +
                  " %s", floatVar, intVar, stringVar);
  • int 转换为 String
    static String valueOf(int i):返回 int 参数的字符串表示形式。该方法是 String 类中的方法
  • String 转换为 int
    static int parseInt(String s):将字符串解析为 int 类型。该方法是 Integer 类中的方法
       //int --- String
       int number = 100;
       //方式1
       String s1 = number + "";
       System.out.println(s1);
       //方式2
       //static String valueOf(int i)
       String s2 = String.valueOf(number);
       System.out.println(s2);
       System.out.println("---------------");

       //String --- int
       String s = "100";
       //方式1:String --- Integer --- int
       Integer i = Integer.valueOf(s);
       //int intValue() 返回此值 Integer为 int
       int x = i.intValue();
       System.out.println(x);
       //方式2
       //static int parseInt(String s)
       int y = Integer.parseInt(s);
       System.out.println(y);

三. Sting方法

1 int compareTo(Object o)

把这个字符串和另一个对象比较。

2 boolean equals(Object anObject)

比较两个字符串内容是否相同、区分大小写

3 String concat(String str)

将指定字符串连接到此字符串的结尾。 可以用+代替

4 static String copyValueOf(char[] data)

返回指定数组中表示该字符序列的 String

5 boolean endsWith(String suffix)

测试此字符串是否以指定的后缀结束。

6 int hashCode()

返回此字符串的哈希码。

7 int indexOf(String str, int fromIndex)

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

8 int lastIndexOf(String str, int fromIndex)

返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

9 String intern()

返回字符串对象的规范化表示形式。对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。

10 int length()

返回此字符串的长度。

11 boolean matches(String regex)

字符串是否匹配给定的正则表达式。

12 String replaceAll(String regex, String replacement)

使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

13 String[] split(String regex, int limit)

根据匹配给定的正则表达式来拆分此字符串。

14 boolean startsWith(String prefix)

测试此字符串是否以指定的前缀开始。

15 String substring(int beginIndex, int endIndex)

返回一个新字符串,它是此字符串的一个子字符串。

16 char[] toCharArray()

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

17 String toLowerCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为小写

18 String toUpperCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

19 String trim()

返回字符串的副本,忽略前导空白和尾部空白。

20 isEmpty()

判断字符串是否为空。

21 contains(CharSequence chars)

判断是否包含指定的字符系列。

22 static String valueOf (primitive data type x)

返回给定data type类型x参数的字符串表示形式。

四.StringBuffer和StringBuilder

java.lang.StringBuffer

线程安全,可变的字符序列。 字符串缓冲区类似于String,但可以进行修改

java.lang.StringBuilder

一个可变的字符序列。 此类提供与StringBuffer兼容的API,但不保证同步。访问速度更快。

1.常用方法
  • append方法总是在缓冲区的末尾添加这些字符;
  • insert 方法在指定点添加字符
  • delete 移除此序列的子字符串中的字符
  • replace 使用给定 String 中的字符替换此序列的子字符串中的字符
  • reverse 返回相反的字符序列

五.Character 类

1.介绍

haracter 类用于对单个字符进行操作。

Character 类在对象中包装一个基本类型 char 的值

char ch = 'a';
 
// Unicode 字符表示形式
char uniChar = '\u039A'; 
 
// 字符数组
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

// 原始字符 'a' 装箱到 Character 对象 ch 中
Character ch = 'a';

// 原始字符 'x' 用 test 方法装箱
// 返回拆箱的值到 'c'
char c = test('x');

2.转义序列

前面有反斜杠(\)的字符代表转义字符

\t 在文中该处插入一个tab键
\b 在文中该处插入一个后退键
\n 在文中该处换行
\r 在文中该处插入回车
\f 在文中该处插入换页符
\' 在文中该处插入单引号
\" 在文中该处插入双引号
\\ 在文中该处插入反斜杠

3.方法

1.toString()

String toString(char ch)
返回一个表示指定 char 值的 String 对象。结果是长度为 1 的字符串,仅由指定的 char 组成。

相关文章

网友评论

      本文标题:Java:String 类

      本文链接:https://www.haomeiwen.com/subject/kmhjsdtx.html