繁体   English   中英

Java AutoWrappers:作为方法输入的行为?

[英]Java AutoWrappers: Behavior as method inputs?

我想知道自动包装器被方法调用时的行为。 在Java中,原始类型按值调用,而对象按引用调用,但是自动包装器呢?

它们是通过价值还是通过引用来调用?

如果确实按值调用它们,那么按引用调用它们的最佳方法是什么? (更多的包装层?)

我想知道自动包装器被方法调用时的行为。 在Java中,原始类型按值调用,而对象按引用调用,但是自动包装器呢?

这些所谓的“自动包装器”只是普通的类。 当您在它们上调用方法并传递它们时,它们的行为类似于普通类。

当您谈论值是“按值调用”或“按引用调用”时,这是术语上的废话。 “按值”和“按引用”与参数传递语义有关,而不是与调用语义有关,并且在Java中,所有值均由值传递。 一切。 对于引用类型,您将按值传递引用。

(使用真正的“通过引用传递”,您实际上是(通常是)调用方变量之一的地址。(假设的)调用方法可以更新该变量。您无法在Java中做到这一点。该语言不会'不支持它,而JVM指令集不支持它。)

包装类型的唯一不寻常之处在于,它们可以进行自动装箱和自动拆箱。 这与参数传递语义正交,因为它们都是“转换”的示例,并且所有转换都参数传递之前发生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM