加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java数组语法替代

发布时间:2020-12-14 19:37:45 所属栏目:Java 来源:网络整理
导读:参见英文答案 What does int[]… arrays mean in Java?8个 我刚看到有人对数组使用这种替代语法,并且想知道: 是 public void fn(Character[]...){} 相当于 public void fn(Character[]){} //(i.e. "..." is redundant) 或者相当于 public void fn(Character
参见英文答案 > What does int[]… arrays mean in Java?8个
我刚看到有人对数组使用这种替代语法,并且想知道:

public void fn(Character[]...){}

相当于

public void fn(Character[]){} //(i.e. "..." is redundant)

或者相当于

public void fn(Character[][]){}

解决方法

使用varargs,您将允许多个参数,仅使用一个2D阵列,您只允许一个参数.它们可能会产生一个2D数组,但它们的调用方式却大相径庭.

小样本:

public class Test {
    public static void main(String[] args){
        doSomething(new char[5],new char[6]);
        doSomething(new char[2][3]);
    }

    private static void doSomething(char[]... args){
        for(char[] s : args){
            System.out.println(s.length);
        }
    }
}

工作得很好:

5
6
3
3

但是,如果您只使用char [] [],第一种调用方式将无效.这就是区别.

char vs Char在这种情况下没有任何功能差异,尽管你可能想要记住this answer的最后一句话.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读