2
爲什麼to_java方法將整數值1轉換爲Java :: JavaLang :: Long類,而不是整數calss?爲什麼to_java方法將Java中的整數(會是什麼)轉換爲Long?
下面是該方法中的動作的一例:
puts 1.to_java.class
在常規Java中,值1,如果放置在一個包裝類,將java.lang.Integer中(如果指正的memeber我錯了)。爲什麼在Ruby中,1.to_java是Java :: JavaLang :: Long的成員?
轉換似乎是基於對象的類('Fixnum'),而不是對象本身。 – Stefan 2014-10-01 13:29:15
在這種情況下,爲什麼類FixNum中的所有對象在轉換爲Java時不是Java :: JavaLang :: Integer的成員 – FluffyKittens 2014-10-01 13:54:51
這似乎是某種自動升級,因爲Java中的所有整數也可以是Long。但我會感謝有人提供更精確的答案。 – FluffyKittens 2014-10-01 13:56:10