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