⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arraygrowtest.java

📁 JAVA继承的例子
💻 JAVA
字号:
import java.lang.reflect.*;

public class ArrayGrowTest
{
    public static void main(String[] args)
    {
        int[] a={1,2,3};
        a=(int[])goodArrayGrow(a);
        arrayPrint(a);
        
        String[] b={"Tom","Dick","Harry"};
        b=(String[]) goodArrayGrow(b);
        arrayPrint(b);
        
        System.out.println("The following call will generate an exception.");
        b=(String[]) badArrayGrow(b);
    }
    
    static Object[] badArrayGrow(Object[] a)
    {
        int newLength=a.length*11/10+10;
        Object[] newArray=new Object[newLength];
        System.arraycopy(a,0,newArray,0,a.length);
        return newArray;
    }
    
    static Object goodArrayGrow(Object a)
    {
        Class c1=a.getClass();
        if(!c1.isArray())  return null;
        Class componentType=c1.getComponentType();
        int length=Array.getLength(a);
        int newLength=length*11/10+10;
        
        Object newArray=Array.newInstance(componentType,newLength);
        System.arraycopy(a,0,newArray,0,length);
        return newArray;
    }
    
    static void arrayPrint(Object a)
    {
        Class c1=a.getClass();
        if(!c1.isArray()) return;
        Class componentType=c1.getComponentType();
        int length=Array.getLength(a);
        System.out.print(componentType.getName()+"["+length+"]={");
        for(int i=0;i<Array.getLength(a);i++)
            System.out.print(Array.get(a,i)+" ");
        System.out.println("}");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -