前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CharSequence与String

CharSequence与String

作者头像
企鹅号小编
发布2018-02-27 10:51:43
1.1K0
发布2018-02-27 10:51:43
举报
文章被收录于专栏:企鹅号快讯

CharSequence和String是Java中两个不同的基本概念。本篇将介绍它们之间的差异与共性。CharSequenceCharSequence是一个表示字符序列的接口。这个接口不强制实现可变性;因此,可变类和不可变类都实现了这个接口。String、StringBuilder和StringBuffer都实现了这个接口。当然,一个接口不能直接实例化,它需要一个实现来实例化一个变量:

在这里,charSequence被一个String实例化。 实例化其他实现:

CharSequence接口定义了四种方法:

char charAt(int):返回指定位置的字符。

int length():返回序列的长度。

subSequence(int start, int end):返回由开始和结束参数指示的子字符串。

toString():返回String序列的表示。

如果使用CharSequence作为一个方法的参数类型,则对于这个方法,可以传递String、StringBuilder和StringBuffer作为参数。StringJava中,String类代表字符串。它是一个不可变的类,也是Java中最常用的类型之一。这个类实现了CharSequence,Serializable和Comparable接口。请记住,当你看到只带有引号的源代码时,编译器正在将它转换成一个String对象。差异与共性我们来比较一下CharSequence和String的差异和共性。它们都位于同一个名为java.lang的包中。但CharSequence是一个接口,String是一个具体的类。CharSequence与String都能用于定义字符串。但CharSequence的值是可读可写序列,而String的值是只读序列,即String类是不可变的。

publicclassCharSequenceDemo{publicstaticvoidmain(String[]args){CharSequenceobj="hello";Stringstr="hello";System.out.println("Type of obj: "+obj.getClass().getSimpleName());System.out.println("Type of str: "+str.getClass().getSimpleName());System.out.println("Value of obj: "+obj);System.out.println("Value of str: "+str);System.out.println("Is obj a String? "+(objinstanceofString));System.out.println("Is obj a CharSequence? "+(objinstanceofCharSequence));System.out.println("Is str a String? "+(strinstanceofString));System.out.println("Is str a CharSequence? "+(strinstanceofCharSequence));System.out.println("Is \"hello\" a String? "+("hello"instanceofString));System.out.println("Is \"hello\" a CharSequence? "+("hello"instanceofCharSequence));System.out.println("str.equals(obj)? "+str.equals(obj));System.out.println("(str == obj)? "+(str==obj));}

}

本文来自企鹅号 - RobotTT媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - RobotTT媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档