2015-01-09 105 views

回答

6

字符串是不可變的從Object的。因此,你不能將它轉換爲另一種類型的

爲了得到一個StringBufferString您必須創建一個新的StringBuffer實例與字符串作爲參數傳遞給你剛纔提到的constructor

+0

@TheLostMind yes按照您的評論更正 –

5

Java是一種強類型語言。

這意味着,一切都有一個類型。例如,字符串和字符串緩衝區。

演員有兩個主要目的。第一個是基元,它們都是數字(布爾除外)。這是一個轉換。第二個是對象。唯一的目的是將一個對象投射到它的一個子類。例如。

Object s = ""; 
int len = ((String) s).length(); 

的StringBuffer和字符串無關heigherarchically即使他們可能具有類似用途

1

Java不支持字符串的鑄件的StringBuffer,因爲字符串是不可變對象。

StringBuilder Java API的告訴我們有可從一個String對象創建一個StringBuffer構造函數:

StringBuffer(String str) 
+0

此外,String不能轉換爲StringBuffer,因爲它們不以任何方式與heigherarchically相關。 (除了從Object下降) –

0

在Java對象類型轉換,一個對象引用可以將類型轉換成另一種對象引用。強制類型可以是自己的類類型,也可以是其子類或超級類層次結構中的某個類。 您可以查看下面的代碼片段,以瞭解類型轉換如何工作。在下面的代碼,B類是A類的子類(子)

class A{ 
} 

class B extends A{ 
} 

A a = new A(); 
B b = new B(); 

A a1 = (A)b; //this is correct 
B b1 = (B)b; //this is correct 

A a2 = (B)a; //ClassCastException 
B b2 = (A)a; //Compile error 

你可能想看看其中的一些 - Conversions and PromotionsJava Cast and Conversions,以獲得更好的理解Java類型轉換和提升的。

相關問題