2014-02-06 107 views
0

誰能請解釋我爲什麼我們需要在給定的行爲什麼我們需要做類型轉換這一行

mypack.adder rect=(mypack.adder) session.getAttribute("rect"); 

什麼session.getAttribute實際上是在做類型轉換? session.setAttribute(string,object)是做什麼的? 字符串如何與對象相關?

+2

您始終擁有文檔來查看方法的返回類型,並瞭解該方法的用途。 –

+1

因爲'session.getAttribute(...)'返回'Object'。 –

回答

0

java中的每個類擴展了java.lang.Object類。這對於許多情況很有用。會話擁有屬性,但它不會將您限制爲屬性的類型 - 它將屬性保存爲對象類型對象。由於java是靜態類型的(編譯器需要知道每個變量的類型),因此需要將剛剛從會話獲得的屬性顯式轉換爲類型,因爲getAttribute()返回java.lang.Object對象。請參閱http://en.wikipedia.org/wiki/Downcasting的更多內容

相關問題