3
对于定义列出字符序列参数的API(Android SDK API版本8)函数,我可以提供函数String来代替。最好的部分是,他们以同样的方式工作,没有麻烦,没有警告。在Android OS或Java中,字符序列和字符串有什么区别?
这两种类型有区别吗?更重要的是,如果我发送函数为字符串而不是字符序列,是否存在固有的危险?
感谢您的任何澄清! :D
对于定义列出字符序列参数的API(Android SDK API版本8)函数,我可以提供函数String来代替。最好的部分是,他们以同样的方式工作,没有麻烦,没有警告。在Android OS或Java中,字符序列和字符串有什么区别?
这两种类型有区别吗?更重要的是,如果我发送函数为字符串而不是字符序列,是否存在固有的危险?
感谢您的任何澄清! :D
这两种类型有区别吗?
是的。 String
是一类,而CharSequence
是一个接口。如果一个方法接受CharSequence
,它只需要参数来实现接口中的方法,这比只接受String
更灵活。
以下API类实现CharSequence
:CharBuffer
,Segment
,String
,StringBuffer
,StringBuilder
。也就是说,String
是CharSequence
,因此可以传递给接受CharSequence
的方法。
更重要的是,如果我将函数发送给字符串而不是字符序列,那么是否存在固有的危险?
没有,没有危险。 String
正确实现了CharSequence
,这就是所有的方法都需要正常工作。
此外,字符串是最终的(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html),所以它不能被扩展。 – 2010-05-30 14:10:58