CharSequence与String的比较

CharSequence

CharSequence与String都能用于定义字符串,但CharSequence的值是 ??可读可写序列??,而String的值是只读序列。

CharSequence 是一个接口 代表的是一个有序字符集合,这个接口包含的方法有:charAt(int index),toString(),length(),subSequence(int start,int end)
这里需要说的一点是,对于一个抽象类或者接口不能使用new赋值 ,但是可以使用

CharSequence cs = “hello”;
CharSequence是实现这个接口的实例 举例:
CharSequence str = “dd”;
就是 CharSequence str = new String(“dd”);

但是不能使用 CharSequence cs=new CharSequence(“hello”);

上方原因解析

CharSequence 是一个接口不能new 一个接口实例
但是可以new 一个此接口的实现类
而 字符串 “hello” 就是一个String常量被放在常量池,创建后将hello的引用传回来。因此是正确的

验证可读可写

学艺不精,因此个人认为没有可写性,有知道的请指教。以下说我的理解

  1. 测试流程
    public static void main(String[] args) {
        CharSequence cs = new StringBuffer("");    //声明一个CharSequence类型的变量cs
        System.out.println(cs.hashCode());
        cs = ((StringBuffer)cs).append("123");
        System.out.println(cs.hashCode());
        StringBuffer sb = new StringBuffer("123");
        System.out.println("===================");
        System.out.println(sb.hashCode());
        sb.append("123");
        System.out.println(sb.hashCode());
    }

2.解释
我认为是本例是StringBuffer 的可读可写性,CharSequence 接口中没有增加的方法,因此不明白可写性怎么证明。
hashcode值比较
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值