java - 在 Java 中将 vector 作为参数发送

标签 java arrays parameters

这可能是一个愚蠢的问题。我相信我想要实现的目标非常清楚,但我想不出它的语法。假设我有:

public void foo(int[] v){

}
public static void main(String args[]){
     foo({1, 2, 3});
}

我可以在不声明新数组的情况下调用 foo 吗?如果是,怎么做?

最佳答案

您的代码未按照您编写的方式进行编译。但这会的,也许这就是你想要的:

public void foo(int... v) {
    // ...
}

public static void main(String args[]) {
     foo(1, 2, 3);
}

这里,传递给foo的值将自动转换为数组。 v 的值实际上是一个 int[]

或者,保留 foo 的原始签名, 你可以这样写:

public void foo(int[] v) {
    // ...
}

public static void main(String args[]) {
     int[] params = {1, 2, 3};
     foo(params);
}

不可能将这两行组合成您所写的 foo({1, 2, 3})

或者你可以这样写:

public static void main(String args[]) {
     foo(new int[]{1, 2, 3});
}

我在第一个版本中编写的 int... 语法称为“varargs”, 如果你想了解更多相关内容。 由于你是初学者,我不建议使用它, 因为你可能会遇到一些陷阱, 它可能更令人困惑而不是有用。 现在坚持使用第二个或第三个版本。

关于java - 在 Java 中将 vector 作为参数发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621217/

相关文章:

java - java有没有好的dataflow并发库

javascript - 在嵌套数组中查找和编辑?

arrays - 从类数组创建实例

ruby-on-rails - 如何在Rails中设置哈希表?

java - 在 Java 程序中调用时如何检索 .exe 文件的输出?

java - 服务器响应是 : Bad Request: 400 in httpurlconnection

java - JVM如何设置PATH环境变量

java - 如何将泛型类型存储在缓存中以避免在检索时进行未经检查的强制转换?

javascript - ReactJS:用新值替换数组中的对象替换整个数组

c# - 从 aspx 页面上的 URL 获取参数