gpt4 book ai didi

具有可变参数类型和数量的 Java 方法

转载 作者:行者123 更新时间:2023-12-01 06:49:11 25 4
gpt4 key购买 nike

我对 Java 中的泛型和可变参数进行了一些研究,但我似乎找不到如何将它们一起实现以创建具有灵活参数类型和数量的方法(和/或构造函数)。例如,假设我想创建一个方法,可能需要整数数组或不固定数量的整数参数。我可以这样创建第一个:

public void example0 (int[] args) { }

以及后者:

public void example1 (int... args) { }

但是我怎样才能将它们合并到一个名称下呢?而且,展望 future ,我如何实现对多种数值类型(例如 float )的支持?一个例子就是一个很好的答案。

更新:

谢谢,但显然我使用了一个过于简单的例子来解决更大的问题。考虑到任意数量的参数和任意类型,我将如何处理这个问题?所以说:

public void example(int[] args) {}
public void example(string arg0, int[] args) {}
public void example(string arg0, string arg1) {}
...

最佳答案

int... 参数可以接受 int 和 int 数组。您只需要一种方法即可处理这两者。

public void example (int... args) { }

调用示例:

example(1, 2, 3);
example(new int[] { 1, 2, 3 });

And, looking to the future how could I implement support for multiple numeric value types, such as a float?

您可以尝试使用Number,它是IntegerFloat的父类(super class)。但老实说,这很尴尬、效率低下,而且不值得。标准 API 方法往往只重载所有数字类型。

public void example (int... args) { }
public void example (long... args) { }
public void example (float... args) { }
public void example (double... args) { }

关于具有可变参数类型和数量的 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883752/

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