2010-05-30 40 views
3

對於定義列出字符序列參數的API(Android SDK API版本8)函數,我可以提供函數String來代替。最好的部分是,他們以同樣的方式工作,沒有麻煩,沒有警告。在Android OS或Java中,字符序列和字符串有什麼區別?

這兩種類型有區別嗎?更重要的是,如果我發送函數爲字符串而不是字符序列,是否存在固有的危險?

感謝您的任何澄清! :D

回答

7

這兩種類型有區別嗎?

是的。 String是一類,而CharSequence是一個接口。如果一個方法接受CharSequence,它只需要參數來實現接口中的方法,這比只接受String更靈活。

以下API類實現CharSequenceCharBufferSegmentStringStringBufferStringBuilder。也就是說,StringCharSequence,因此可以傳遞給接受CharSequence的方法。

更重要的是,如果我將函數發送給字符串而不是字符序列,那麼是否存在固有的危險?

沒有,沒有危險。 String正確實現了CharSequence,這就是所有的方法都需要正常工作。

+0

此外,字符串是最終的(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html),所以它不能被擴展。 – 2010-05-30 14:10:58

相關問題