关于JAVA中的String类(非常重要的一个类)的不可变特性

String类非常重要

String是java.lang包下的一个类,重写了equals方法
继承关系:默认继承Object类
实现了三个接口:Serializable , CharSequence , Comparable

String的不可变特性体现在它的长度和它的内容:
长度------>String底层是一个final修饰的数组,数组本身的长度不可变,final修饰的数组其地址不能改变。
内容------>private修饰的属性,不能在类的外部访问。
可以自行查看String类的源码
在String类中包含一个数组

private final char value[];  // 存储String中的每一个字符

关于String构建对象

String str = "abc";  // 直接将字符串常量复制给 str (从字符串常量池中拿)。
String str = new String();  // 无参数构造方法创建空的对象。用处通常不会很大。
String str = new String("abc"); // 带String参数的构造方法创建对象。
String str = new String(byte[] b); // 将数组 b 中的每一个元素转换位对应的char,再组合成String
String str = new String(cahr [] c);

不每一个都介绍。可以自行查看API。了解其他构造方法。

byte[] value = new byte[]{65,97,48};
String str = new String(value);// 将数组中的每一个元素转换为对应的char,再组合成String
char[] value = {'A','a','0'};
String str = new String(value);// 将数组中的每一个char元素拼接成最终的String
char[] value = {'H','e','l','l','o'};
String str = new String(value,1,3); // 表示从 1 号索引开始,要拿 3 个字符构建数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值