Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java Reflect ·´Éä ѧϰ±Ê¼Ç3 ²Ù×÷

       Java Reflect±àд ͨÓÃÊý×éÀ©Õ¹Àà
 
package com.accp.array;

import java.lang.reflect.Array;

public class GrowArrayTest {
public static void main(String[] args) {
Integer[] array = {1,2,3,4}; //ͨÓÃÀ©Õ¹
arrayPrint(array);
array = (Integer[])goodArrayGrow(array);
arrayPrint(array);


String[] str = {"xw","xz"};
arrayPrint(str);
str = (String[])badArrayGrow(str); //»á±¨ClassCastExceptionÒì³£,ÎÞ·¨½«Objectת»»³ÉStringÀàÐÍ
arrayPrint(str);

int[] a = null;
goodArrayGrow(a);
arrayPrint(a);

}

public static Object goodArrayGrow(Object o) {
Class clazz = o.getClass(); //µÃµ½ÀàÐÍÐÅÏ¢
if (!clazz.isArray())
return null;

Class type = clazz.getComponentType(); //µÃµ½oµÄÀàÐÍ
int newLength = Array.getLength(o) * 11 / 10 + 10;

Object newArray = Array.newInstance(type, newLength); //´´½¨Ò»¸öеÄArray, type = clazz.getComponentype()
System.arraycopy(o, 0, newArray, 0, Array.getLength(o));
return newArray;
}

public static Object[] badArrayGrow(Object[] o){
int newLength = o.length * 11 /10 +10;
Object[] newArray = new Object[o.length];
System.arraycopy(o, 0, newArray, 0, o.length);
return newArray;
}

public static void arrayPrint(Object a) { // ±éÀúÊä³öÊý×éÖµ


Class clazz = a.getClass(); // µÃµ½ÀàÐÍÐÅÏ¢
if (!clazz.isArray())
return;

Class type = clazz.getComponentType(); // µÃµ½ÀàÐÍ
Integer length = Array.getLength(a); // µÃµ½³¤¶È

System.out.print(type.getName() + "[" + length + "]={"); // ¸ñʽ»¯Êä³ö

for (int i = 0; i < Array.getLength(a); i++)
System.out.print(Array.get(a, i) + " ");
System.out.println("}");

}
}
  


Ïà¹ØÎĵµ£º

java IO³õ²½

ʲôÊÇÁ÷£º
Á÷ÊÇÒ»¸ö³éÏóµÄ¸ÅÄî¡£µ±Java³ÌÐòÐèÒª´ÓÊý¾ÝÔ´¶ÁÈ¡Êý¾Ýʱ£¬»á¿ªÆôÒ»¸öµ½Êý¾ÝÔ´µÄÁ÷¡£Êý¾ÝÔ´¿ÉÒÔÊÇÎļþ£¬ÄÚ´æ»òÕßÍøÂçµÈ¡£Í¬Ñù£¬µ±³ÌÐòÐèÒªÊä³öÊý¾Ýµ½Ä¿µÄµØÊ±Ò²Ò»Ñù»á¿ªÆôÒ»¸öÁ÷£¬Êý¾ÝÄ¿µÄµØÒ²¿ÉÒÔÊÇÎļþ¡¢ÄÚ´æ»òÕßÍøÂçµÈ¡£Á÷µÄ´´½¨ÊÇΪÁ˸ü·½±ãµØ´¦ÀíÊý¾ÝµÄÊäÈëÊä³ö¡£
Á÷·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷¡£×Ö½ÚÁ÷Ò²³ÆÎªÔ­Ê ......

¶ÔJAVA¼òµ¥µÄÀí½â

Õ⼸ÌìÔÚ¿´JAVA£¬Í¼Êé¹Ý½èµÄÒ»±¾JAVA¿ª·¢´óÈ«£¬Í¦ºñµÄÒ»±¾£¬ÄÚÈݺܶ࣬µ«²»Éî¡£°üÀ¨JAVAµÄ»ù±¾Óï·¨¡¢Ï̱߳à³Ì¡¢×ÀÃæ³ÌÐò¡¢Ö÷ÒªÀà¿â¡¢ÒÔ¼°ºóÃæJSP²¿·Ö¡£¿´ÁË5ÌìÁË£¬¸Õ°ÑJÏ߳̿´Íê¡£ÓÉÓÚ֮ǰѧ¹ýC++£¬ËùÒÔÇ°Ãæ»ù´¡Êý¾ÝÀàÐÍ£¬»ù±¾Óï·¨µÈµÈÖ»×ÅÖØ¿´¿´JAVA¶ÀÌØµÄµØ·½¡£ÒÔÏÂÊÇÎÒ¸öÈËÀí½â×ܽáµÄһЩJAVAÓëC/C++²»Í¬µØ·½¼°×Ô¼ºµÄ¶ÔJ ......

Java ¸´Ï°±Ê¼Ç_µÚ3Ìì


Êý¾Ý½á¹¹ºÍËã·¨
ðÅÝ£ºÃ¿´Î±È½Ï¶¼¿ÉÕÒ³ö×î´ó»ò×îСµÄ£¬ÓÐÐòµÄÔÚ×îÓÒ±ß
Ñ¡ÔñÅÅÐò£ºÓÐÐòµÄÔÚ×î×ó±ß
²åÈëÅÅÐò£ºËٶȱÈðÅÝ¿ìÒ»±¶£¬±ÈÑ¡ÔñÒ²¿ì¡£
    
µÝ¹é
      
µ÷ÓÃ×ÔÉí
      
ººÅµËþÎÊÌ⣺
/**
* @ººÅµËþµÄÎÊÌâ
*/ ......

Java ¸´Ï°±Ê¼Ç_µÚ4Ìì

Êý¾Ý¿âÁ¬½Ó
              Á÷ÊÇÖ¸Ò»Á¬´®Á÷¶¯µÄ×Ö·û£¬ÊÇÒÔÏȽøÏȳöµÄ·½Ê½´¦ÀíµÄ¡£
              ¹¹ÔìÒ»¸öÎļþÊäÈëÁ÷¶ÔÏó£ºInputStream o = new FileInputStream(“a.txt&rdquo ......

Effective Java ѧϰ±Ê¼Ç£¨£±£©

ͨ³£Çé¿öÏ£¬ÎÒÃÇÔÚдһ¸öÀàʱ£¬Ò»°ã»á¸³ÓèËüÒ»¸ö»ò¼¸¸öpublicµÄ¹¹Ô캯Êý£¬ÈÃÍⲿ³ÌÐòÄܹ»´´½¨¶ÔÏó.¡¡È»¶ø£¬ÔÚeffective¡¡java ÖУ¬´ÓÁíÒ»¸ö½Ç¶È¸æ½ëÎÒÃÇÔÚʹÓÃpublicµÄ¹¹Ô캯Êýǰ£¬ÏÈ¿¼ÂÇÓÃpublic µÄ¾²Ì¬º¯ÊýÀ´´´½¨¶ÔÏó.¡¡
ÆäÓŵãÈçÏ£º
£±.¡¡Ò»¸ö¾²Ì¬µÄ¹¤³§º¯Êý£¬¿ÉÒÔÈ¡²»Í¬µÄÃû×Ö.¡¡¶ø¹¹Ô캯ÊýµÄÃû×ÖÖ»ÄÜÓëÀàͬÃû.¡¡
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ