在Java中,primitive(原始数据类型)是指Java语言中的基础数据类型,如int、double、char等。与之相对的是引用数据类型,如String、Object等。与引用数据类型不同,primitive类型不需要使用.equals()方法进行比较。这是因为primitive类型的变量存储的是实际的值,而不是对象的引用。所以,在比较两个primitive类型的变量时,可以直接使用==操作符进行比较,因为它比较的是值本身是否相等。而引用数据类型则需要使用.equals()方法,因为它比较的是对象的引用是否指向同一个对象。这就是为什么在Java中,primitive类型不需要.equals()方法的原因。
所以在java中如果你比较字符串你必须使用.equals方法,因为==只比较内存地址而不是内容。没关系,我可以理解这一点。但我不明白的是为什么原始没有同样的问题。我们如何能够对基元使用 == 运算符。
这归结为这样一个事实:基元不是完整的 Java 对象,因此它们是 “按值传递”,而对象“按引用传递”。
此外,您不能在原语上使用 .equals()
函数,因为它不是来自类的完全实例化的 Java 对象,并且需要在类/对象中定义函数。
大多数基元都有一个等效的对象类型,例如 Integer
是 int
的完整实现对象类型,在现代 Java 中,您会得到名为 自动装箱Integer
是 int
的完整实现对象类型,在现代 Java 中,您会得到名为 自动装箱。所以如果你不使用int
,而是使用Integer
类型,那么你可以调用.equals()
。所以如果你不使用int
,而是使用Integer
类型,那么你可以调用
这是一些随机的信息分类,但我相信如果您将其添加起来,您将有望了解发生了什么。🎜
以上是在java中为什么primitive不需要.equals方法?的详细内容。更多信息请关注PHP中文网其他相关文章!