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的最后一句话. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
