zoukankan      html  css  js  c++  java
  • String 和 CharSequence 关系与区别

    String 继承于CharSequence,也就是说String也是CharSequence类型。
    CharSequence是一个接口,它只包括length(), charAt(int index), subSequence(int start, int end)这几个API接口。除了String实现了CharSequence之外,StringBuffer和StringBuilder也实现了 CharSequence接口。
    需要说明的是,CharSequence就是字符序列,String, StringBuilder和StringBuffer本质上都是通过字符数组实现的!

    CharSequence 是 char 值的一个可读序列。此接口对许多不同种类的 char 序列提供统一的只读访问

    (个人理解应该算得上是char类型得一个集合,是interface)

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

    CharSequence是String实现的一个接口,相当简单,就是要求是一串字符。所以每个参数类型是CharSequence的方法,都可以实际代入String对象。
    为什么这些方法不干脆定义String作为参数类型?因为还有其他的CharSequence类型的类,比如StringBuffer和StringBuilder这两个很重要的类。
    String对象是不可变的,这两个可变,所以我们在构造字符串的过程中往往要用到StringBuffer和StringBuilder。
    如果那些方法定义String作为参数类型,那么就没法对它们用那些方法,先得转化成String才能用。
    但StringBuffer和StringBuilder转换为String再转换过来很化时间的,用它们而不是直接用String的“加法”来构造新String本来就是为了省时间,
    所以如果用String作为参数类型就杯具了。
  • 相关阅读:
    .NET的URL重写
    基于Bootstrap+jQuery.validate Form表单验证实践
    JS正则表达式验证数字非常全
    Windows 系统下设置Nodejs NPM全局路径
    PHP计划任务:如何使用Linux的Crontab执行PHP脚本(转)
    linux使用crontab实现PHP执行定时任务(转)
    phpstorm 设置
    phpdoctor 安装,配置,生成文档
    phpQuery—基于jQuery的PHP实现(转)
    将C#文档注释生成.chm帮助文档(转)
  • 原文地址:https://www.cnblogs.com/ChrisMurphy/p/4760197.html
Copyright © 2011-2022 走看看