在Java中,对象相当容易理解.构造对象,在堆中分配空间,并将其分配给指向它的变量名(引用).没什么大不了.但原始类型如何代表?它们位于何处(堆叠或堆叠)?
当我想知道这个Integer.toString(int)方法可能是什么时,我想到了这个问题.它无法解析文本,因为......它不是文本.它不能toString()显式地或隐式地调用方法,因为这既是循环逻辑又是对原始类型不能分配给它们的方法(因为它们不是对象)这一事实的公然忽视.我认为这个方法在逻辑上有可能为和之间的if/else所有可能int值提供大量的条件,但这似乎也应该比它应该复杂得多.Integer.MIN_VALUEInteger.MAX_VALUE
那么这是如何工作的呢?
但原始类型如何代表?
原始类型的实例在内存中表示为位模式.因此,例如,a int表示为32位(4字节,1 32位字).
它们位于何处(堆叠或堆叠)?
无论是.这取决于你保持原始值的变量类型.
我想知道Integer.toString(int)方法可能是什么样子.
该方法的核心是一个简单的算法,是一个反复循环
就像你手动将二进制数转换为十进制一样.
(有关详细信息,请查看源代码.每个Sun/Oracle JDK都包含核心库的源代码.或者,您可以通过Google搜索轻松找到Internet上的源代码(各种版本).)