RT
比如C中有memset()
java有没有类似这样对数组快速初始化的方法

解决方案 »

  1.   

    Array  a = new Array(10);
      

  2.   

     没有现成的方法。
    如果确实需要,可以考虑用JNI或System.arraycopy间接实现。
      

  3.   

    int[] i = new int[10];//初始化为每个数都为0
    假如快速要copy的话System.arraycopy也可以,
    Arrays类的  public static void fill(int[] a,int val);
                            
      

  4.   

    我想着自己写个类就可以了,不过不知道效率怎么样.
    希望不要招来高手唾骂哦...理解下新手.public class Initialization
    {
       public static void intInitialization(int[] a,int b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void charInitialization(char[] a,char b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void byteInitialization(byte[] a,byte b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void shortInitialization(short[] a,short b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void longInitialization(long[] a,long b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void booleanInitialization(boolean[] a,boolean b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void doubleInitialization(double[] a,double b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
       public static void floatInitialization(float[] a,float b)
       {
          for(int i=0;i<a.length;i++)
             a[i]=b;
       }
    }
      

  5.   

    想法是好,,,,可能效率不行,,,那JAVA就不能对内存直接操作了么
      

  6.   

    答:同意anqini,用Arrays.fill(...)。
      

  7.   

    import java.util.*;
    class Test
    {
    void main(String[] args)
    {
    int[] a;
    Arrays.fill(a,0);//把数组a初始化为所有值为0
    }
    }