Java String 构造器 方法

本文详细介绍了Java中的String类,包括其构造器的使用,如通过字符数组、字节数组和指定字符集进行初始化。同时,讨论了String的重要方法,如equals、compareTo进行字符串比较,以及split方法按照正则表达式拆分字符串。此外,还涵盖了length、substring等长度和子串相关的方法,探讨了字符串不可变性的概念。
摘要由CSDN通过智能技术生成

Java String

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

*The {
   @code String} class represents character strings. All
* string literals in Java programs, such as {
   @code "abc"}, are
* implemented as instances of this class.
{
   @code String} 类表示字符串。 
Java 程序中的所有字符串文字,例如 {
   @code "abc"},
都被实现为此类的实例。

字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。String底层是一个char类型的数组。private final char value[];

例如: "abc"就是String类下的一个具体的对象
String str = "abc";

等效于:
char data[] = {'a', 'b', 'c'};
String str = new String(data);

构造器

底层就是给对象底层的value数组进行赋值操作

String()
初始化一个新创建的 String 对象,使其表示一个空字符序列。

byte[]

String(byte[] bytes[, int offset, int length][, Charset charset])
通过使用指定的charset解码(未指定则使用平台默认字符集)指定的 byte 子数组,构造一个新的 String。

  • bytes- 要解码为字符的 byte
  • offset- 要解码的第一个 byte 的索引
  • length- 要解码的 byte 数
  • charset- 用来解码 bytes 的 charset

String(byte[] bytes[, int offset, int length], String charsetName)
通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。

  • charsetName- 受支持 *charset *的名称

char[]

String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
String(char[] value, int offset, int count)
分配一个新的 String,它包含取自字符数组参数一个子数组的字符。

  • value - 作为字符源的数组
  • offset - 初始偏移量
  • count - 长度

其他

String(int[] codePoints, int offset, int count)
分配一个新的 String,它包含 Unicode 代码点数组参数一个子数组的字符。

  • codePoints - 作为 Unicode 代码点的源的数组。

String(StringBuffer buffer)
分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
String(StringBuilder builder)
分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。

public static void main(String[] args) {
   
    //通过构造器来创建对象:
    String s1 = new String();
    String s2 = new String("abc");
    String s3 = new String(new char[]{
   'a','b','c'});
}

方法

Type 方法 描述
char charAt(int index) 返回指定索引处的 char 值。
int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。
int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点)。
int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范围中的 Unicode 代码点数。
int compareTo(String anotherString) 按字典顺序比较两个字符串。相等则结果为 0
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
String concat(String str) 将指定字符串连接到此字符串的结尾。
boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean contentEquals(CharSequence cs) 将此字符串与指定的 CharSequence 比较。
boolean contentEquals(StringBuffer sb) 将此字符串与指定的 StringBuffer 比较。
static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String。
static String copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的 String。offset - 子
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SK Primin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值