java - 是否每种数据类型都继承自 Object?

标签 java

我有一个接受对象类型参数的方法:

  public static void test(Object foo) 
    {
    System.out.println(foo);
  }

我可以传递 foo:字符串、整数、 boolean 值等……几乎任何东西。我认为这是可能的,因为 Object 是其他所有东西都继承自的基类,因此它接受任何数据类型都是有效的。我可以理解字符串和数组等对象的情况。但是为什么原始类型会出现这种情况呢? integer、char、boolean 也继承自 Object 吗?

最佳答案

不,基本类型继承自Object,因为它们不是类。当您将原始类型从 Java 5+ 传递给此方法时会发生什么称为 autoboxing ,编译器会将您的原语转换为包装类之一。例如,int 将自动转换为 Integer(在幕后使用临时变量),这将使代码可编译。

关于java - 是否每种数据类型都继承自 Object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26291463/

相关文章:

java - @ManyToMany Hibernate 只更新 JoinTable

java - 将两个整数数组相加

java - 任何无需数据库即可保存用户信息的方法

Java:在字符串中查找字符串

java - 如何在 Java 中对数字进行自定义舍入?

java - 如何用 Java 编写自己的桌面共享应用程序?

java - 如何通过 Hibernate 将 H2 数据库项打印到 JavaFx SceneBuilder 准备的 TableView 上

Java SVG Salamander 线性渐变未显示

java - 使用 Azure Java SDK V12 和 ListBlobs() 列出 Azure Blobstorage 中的 Blob 速度非常慢

java - 使用 iText 5,如何将 PDF 文件另存为线性化 PDF