System.out.println中的整数-拆箱还是toString()?

空值

我有一个非常简单的问题。

我写这样的代码片段:

Integer integer = new Integer(42);
System.out.println(integer);

问题是这里发生了什么?

  • 自动将装箱的Integer转换为私有的int值,或者
  • 整数的toString()方法被调用了吗?
他们是

好吧,由于方法重载解析过程分为三个阶段,并且初始阶段不进行装箱/拆箱操作以将参数与候选方法进行匹配,因此PrintStream此处调用方法应为public void println(Object x),因为它Integer是一个Object

void println(Object x)呼叫String.valueOf(Object),即IntegertoString()

字节码:

     0: new           #16                 // class java/lang/Integer
     3: dup
     4: bipush        42
     6: invokespecial #18                 // Method java/lang/Integer."<init>":(I)V
     9: astore_1
    10: getstatic     #21                 // Field java/lang/System.out:Ljava/io/PrintStream;
    13: aload_1
    14: invokevirtual #27                 // -->  Method java/io/PrintStream.println:(Ljava/lang/Object;)V
    17: return

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java中的toString-System.out.println与Android中的日志

来自分类Dev

Java中“ System.out.println()”和“ toString()”之间的连接

来自分类Dev

Integer in System.out.println - unboxing or toString()?

来自分类Dev

使用System.out.println(arr)在Java中打印一维字符数组,整数

来自分类Dev

System.out.println中的错误

来自分类Dev

为什么Java中的记录器很少像System.out.println那样具有.toString()?

来自分类Dev

System.out.println与PrintWriter

来自分类Dev

System.out.println-Java

来自分类Dev

可执行jar中的“ System.out.println()”会怎样?

来自分类Dev

Java 8中“ System.out :: println”的用途是什么

来自分类Dev

传递System.out.println(); 作为方法中的参数

来自分类Dev

HashSet中的System.out.println()方法调用的hashCode方法

来自分类Dev

在Eclipse中,System.out.println()语句的颜色是否不同?

来自分类Dev

Java中System.out.println()和return之间的区别

来自分类Dev

当Maven中的System.out.println重置线程中断标志

来自分类Dev

Java中的System.out.println()易失

来自分类Dev

传递System.out.println(); 作为方法中的参数

来自分类Dev

Java中System.out.println的怪异行为

来自分类Dev

无法解析JavaCC中的System.out.println()

来自分类Dev

Java中的System.out.println-是否在本机方法中初始化out?

来自分类Dev

我们可以替换System.out.println()中的“ out”吗?

来自分类Dev

为什么System.out.println不好?

来自分类Dev

钩入System.out.println(); 并修改

来自分类Dev

System.out.println的未知输出

来自分类Dev

蚀| System.out.println()的代码模板

来自分类Dev

System.out.println同时打印

来自分类Dev

System.out.println的意外结果

来自分类Dev

较短版本的Java System.out.println()

来自分类Dev

System.out.println-语法错误

Related 相关文章

  1. 1

    Java中的toString-System.out.println与Android中的日志

  2. 2

    Java中“ System.out.println()”和“ toString()”之间的连接

  3. 3

    Integer in System.out.println - unboxing or toString()?

  4. 4

    使用System.out.println(arr)在Java中打印一维字符数组,整数

  5. 5

    System.out.println中的错误

  6. 6

    为什么Java中的记录器很少像System.out.println那样具有.toString()?

  7. 7

    System.out.println与PrintWriter

  8. 8

    System.out.println-Java

  9. 9

    可执行jar中的“ System.out.println()”会怎样?

  10. 10

    Java 8中“ System.out :: println”的用途是什么

  11. 11

    传递System.out.println(); 作为方法中的参数

  12. 12

    HashSet中的System.out.println()方法调用的hashCode方法

  13. 13

    在Eclipse中,System.out.println()语句的颜色是否不同?

  14. 14

    Java中System.out.println()和return之间的区别

  15. 15

    当Maven中的System.out.println重置线程中断标志

  16. 16

    Java中的System.out.println()易失

  17. 17

    传递System.out.println(); 作为方法中的参数

  18. 18

    Java中System.out.println的怪异行为

  19. 19

    无法解析JavaCC中的System.out.println()

  20. 20

    Java中的System.out.println-是否在本机方法中初始化out?

  21. 21

    我们可以替换System.out.println()中的“ out”吗?

  22. 22

    为什么System.out.println不好?

  23. 23

    钩入System.out.println(); 并修改

  24. 24

    System.out.println的未知输出

  25. 25

    蚀| System.out.println()的代码模板

  26. 26

    System.out.println同时打印

  27. 27

    System.out.println的意外结果

  28. 28

    较短版本的Java System.out.println()

  29. 29

    System.out.println-语法错误

热门标签

归档