如何将一个函数传递给数组文字? [英] How to pass a function an array literal?

查看:53
本文介绍了如何将一个函数传递给数组文字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在不将其设置为单独变量的情况下传递数组?例如,我知道这可行:

  class测试{公共静态void main(String [] args){String [] randomStrings = {"foo"};TakesStringArray(arbitraryStrings);}公共静态无效takesStringArray(字符串[]参数){System.out.println(参数);}} 

但是我不想使数组成为变量,因为它仅在这里使用.有什么办法可以做这样的事情:

  class测试{公共静态void main(String [] args){TakesStringArray({"foo"});}公共静态无效takesStringArray(字符串[]参数){System.out.println(参数);}} 

解决方案

{"foo"} 并没有告诉Java任何有关您要创建的数组类型的信息...

相反,尝试类似...

  takesStringArray(new String [] {"foo"}); 

How do I pass a array without making it a seperate variable? For example I know this works:

class Test{
    public static void main(String[] args){
        String[] arbitraryStrings={"foo"};
        takesStringArray(arbitraryStrings);
    }
    public static void takesStringArray(String[] argument){
        System.out.println(argument);
    }
}

But I dont want to make the array a variable as it is only used here. Is there any way to do something like this:

class Test{
    public static void main(String[] args){
        takesStringArray({"foo"});
    }
    public static void takesStringArray(String[] argument){
        System.out.println(argument);
    }
}

解决方案

{"foo"} doens't tell Java anything about what type of array you are trying to create...

Instead, try something like...

takesStringArray(new String[] {"foo"});

这篇关于如何将一个函数传递给数组文字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆