在Java中CharSequence VS字符串?

在Android中编程时,大部分文本值都在CharSequence

这是为什么? 什么是好处,以及使用CharSequence不是String的主要影响是什么?

主要的区别是什么?在使用它们时将会遇到哪些问题?从一个转换到另一个?


字符串是CharSequences,所以你可以使用Strings而不用担心。 Android只是试图通过允许您指定其他CharSequence对象(如StringBuffers)来帮助您。


我相信最好使用CharSequence。 原因是String实现了CharSequence,因此你可以传递一个字符串到CharSequence中,但是你不能将一个CharSequence传递到一个字符串中,因为CharSequence不会实现String。 另外,在Android中, EditText.getText()方法返回一个Editable,它也实现了CharSequence,并且可以轻松地将其传入一个,但不容易转换为String。 CharSequence处理所有!


这个类图可以帮助您看到Java 7/8中字符串类型的大图。 我不确定是否所有这些都出现在Android中,但总体上下文可能仍然对您有用。

另外,请注意对已接受答案的评论。 CharSequence接口被改装到现有的类结构中,所以有一些重要的细节( equals()hashCode() )。 请注意,在类/接口上标记的各种Java(1,2,4和5)版本 - 多年来都有一些流失。 理想情况下, CharSequence将从一开始就位,但这就是生活。

各种与字符串相关的类和接口的图表

链接地址: http://www.djcxy.com/p/72205.html

上一篇: CharSequence VS String in Java?

下一篇: What is x after "x = x++"?