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

JavaÖÐtoArrayµÄÓ÷¨Ì½¾¿


Ò»£®             Incident
import java.util.ArrayList;  
import java.util.List;  
public class Test {  
    public static void main(String[] args) {  
          
        List<String> list = new ArrayList<String>();   
        list.add("1");   
        list.add("2");   
        String[] tt =(String[]) list.toArray(new String[0]);   
    }  
}
 
Õâ¶Î´úÂëÊÇûÎÊÌâµÄ£¬µ«ÎÒÃÇ¿´µ½String[] tt =(String[]) list.toArray(new String[0]) ÖеIJÎÊýºÜÆæ¹Ö£¬È»¶øÈ¥µôÕâ¸ö²ÎÊýnew String[0]È´ÔÚÔËÐÐʱ±¨´í¡£¡£¡£
¶þ£®             Root Cause Analysis
¾­Ñо¿·¢ÏÖtoArrayÓÐÁ½¸ö·½·¨£º
public Object[] toArray() {  
   Object[] result = new Object[size];     
   System.arraycopy(elementData, 0, result, 0, size);     
   return result;  
}  
²»´ø²ÎÊýµÄtoArray·½·¨£¬Êǹ¹ÔìµÄÒ»¸öObjectÊý×飬Ȼºó½øÐÐÊý¾Ý¿½±´£¬´Ëʱ½øÐÐתÐ;ͻá²úÉúClassCastException£¬ÕâÒ²¾ÍÊÇÉÏÊöÎÊÌâµÄroot causeÁË¡£
 
 
public Object[] toArray(Object a[]) {     
if (a.length < size)         
a = (Object[])java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), size);       System.arraycopy(elementData, 0, a, 0, size);     
if (a.length > size)         
a[size] = null;     
return a;  
}
¶ø


Ïà¹ØÎĵµ£º

JavaµÄÀ༯


Collection:ÊÇ´æ·ÅÒ»×éµ¥ÖµµÄ×î´ó½Ó¿Ú£¬Ã¿¸öÖµ¶¼ÊÇÒ»¸ö¶ÔÏó£¬Ò»°ã²»»áÖ±½ÓʹÓÃCollection½Ó¿Ú
List£ºÊÇCollectionµÄ×Ó½Ó¿Ú£¬¶ÔCollection½øÐÐÁË´óÁ¿µÄÀ©³ä£¬ÀïÃæ´æ·ÅµÄÄÚÈÝ¿ÉÒÔÖØ¸´
Set£ºÊÇCollectionµÄ×ÓÀ࣬ûÓжÔCollection½øÐÐÀ©³ä£¬ÀïÃæ´æ·ÅµÄÄÚÈݲ»ÔÊÐíÖØ¸´
Map£ºÊÇ´æ·ÅÒ»¶ÔÖµµÄ×î´ó½Ó¿Ú£¬½Ó¿ÚÖÐÿ¸öÔªËØ¶¼ÊÇÒ»¶ ......

JavaÐòÁл¯Óë·´ÐòÁл¯

java ÖеÄÐòÁл¯Óë·´ÐòÁл¯´úÂ룺
//½øÐÐÐòÁл¯
 public byte[] getByteArray(String[] str)
   {
     byte[] bt = (byte[])null;
     try {
       if (str != null) {
       & ......

JavaÖжÔÏóµÄÉúÃüÖÜÆÚ

  £¨1£© ¶ÔÏóÉúÃüÖÜÆÚµÄ¿ªÊ¼
             ¶ÔÏóÉúÃüÖÜÆÚ¿ªÊ¼Ê±£¬ÐèҪΪ¶ÔÏó·ÖÅäÄڴ棬²¢ÇÒ³õʼ»¯ËüµÄʵÀý±äÁ¿£»
           ¶ÔÏóÉúÃüÖÜÆÚ½áÊø
        & ......

Java Environment Building in Linux

2010-05-03
Linux AS 4
JDK
Sun JDK
http://java.sun.com/javase/downloads/index.jsp
Download Java SE Development Kit 6u20 for Linux, Multi-language
 Java SE Development Kit 6u20
 jdk-6u20-linux-i586-rpm.bin
Java SE Development Kit 6u20
 jdk-6u20-linux-i586.bin
Notes:ÏÖÔÚµÄJDK ......

javaÏß³Ì ·µ»ØÏß³ÌÖеÄÐÅÏ¢ (¶þ)

¶àÏ̻߳·¾³ÖУ¬±È½ÏÕÆÎÕµÄÊÂÇéÖ®Ò»¾ÍÊÇÈçºÎ·µ»ØÏ̵߳ÄÐÅÏ¢¡£ÒòΪrunºÍstart·½·¨²¢²»·µ»ØÈκÎÖµ¡£
    ¼ÙÉèÏÖÔÚÓÐÁ½¸öỊ̈߳¬Ö÷Ï̺߳ÍÒ»¸ö×ÓỊ̈߳¬×ÓÏ̶߳ÁÎļþ£¬Ö÷Ïß³ÌÐèÒª¶ÔÎļþµÄ½á¹û½øÐвÙ×÷£¬µ±È»£¬×î¼òµ¥µÄ·½·¨¾ÍÊǶÁÎļþºÍ´¦Àí¶Á³öµÄÎļþÈ«²¿¶¼ÔÚÖ÷Ïß³ÌÖнø
ÐС£
   
   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ