gpt4 book ai didi

java - 在 Java 中将原始类型作为输出参数传递

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:42 25 4
gpt4 key购买 nike

我需要在从方法返回内容列表时返回/更新 boolean 值。 Java 不能返回元组,我不想为此创建一个单独的类,所以我想我会把 bool 作为输出参数传递。这就是我们的 C++ 客户端所做的,通过引用传递 bool。这对于普通类是有效的,因为 java 对对象有 pass-by-ref(参见 Is Java "pass-by-reference" or "pass-by-value"? 对此有很好的讨论)。但是像 Boolean 这样的“Wrapper”类将它们的原始值存储为不可变的,所以它不能以这种方式更新。

使用 boolean 数组(只有一个条目)看起来很古怪,但也许是最简单的方法。或者,可以返回 boolean 值并将创建的列表作为输出参数传回,而不是作为返回 [但是 java 客户端偏离了 C++,最好保持大部分相同的方法——仅供引用,在 C# 中也需要这个。 ]

最佳答案

不,Java 没有对象的传递引用;它具有“按值传递引用”,这不是一回事。

在 Java 中绝对不能将任何内容作为“out”参数或通过引用传递——尽管在 C# 中可以。

能否将“boolean 加列表”封装成另一种类型?他们真的有关系吗?使用 boolean 数组绝对是非常难看的。您可以编写一个MutableBoolean 包装器类型——但同样,这非常难看。通常我会说返回两个东西表明该方法应该分开,但是当其中一个是 boolean 值时,它可能是相当合理的 - 就像 C# 中的 int.TryParse 等。

关于java - 在 Java 中将原始类型作为输出参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2224342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com