JavaÖÐtoArrayµÄÓ÷¨Ì½¾¿(javaÊý×éÓëlistת»»)
Ò»£® 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;
}
¶ø
Ïà¹ØÎĵµ£º
´æ´¢¹ý³ÌÊÇÒ»ÖÖ´æ´¢ÔÚÊý¾Ý¿âÖеijÌÐò£¨¾ÍÏñÕý¹æÓïÑÔÀïµÄ×Ó³ÌÐòÒ»Ñù£©£¬×¼È·µÄÀ´Ëµ£¬MySQLÖ§³ÖµÄ“routines£¨Àý³Ì£©”ÓÐÁ½ÖÖ£ºÒ»ÊÇÎÒÃÇ˵µÄ´æ´¢¹ý³Ì£¬ ¶þÊÇÔÚÆäËûSQLÓï¾äÖпÉÒÔ·µ»ØÖµµÄº¯Êý£¨Ê¹ÓÃÆðÀ´ºÍMysqlÔ¤×°ÔØµÄº¯ÊýÒ ......
package sort;
import java.util.Random;
/**
* ÅÅÐò²âÊÔÀà
*
* ÅÅÐòËã·¨µÄ·ÖÀàÈçÏ£º 1.²åÈëÅÅÐò£¨Ö±½Ó²åÈëÅÅÐò¡¢ÕÛ°ë²åÈëÅÅÐò¡¢Ï£¶ûÅÅÐò£©£» 2.½»»»ÅÅÐò£¨Ã°ÅÝÅÝÅÅÐò¡¢¿ìËÙÅÅ ......
package com.algrothim.sample.plo;
/**
* @author yuan
*ÕâÒ»¸öÅжÏÒ»¸ö×Ö·û´®ÊÇ·ñΪ»ØÎĵÄÀý×Ó¡£
*ÀïÃæ½èÖúÈý¸öÖØÒªµÄÊý¾Ý½á¹¹µÄ֪ʶ£º
*Õ»£¬¶ÓÁУ¬ÒÔ¼°ÒýÓá£
*´Ë³ÌÐòµÄÔÀíÊÇ£º¸ù¾ÝÕ»µÄºó½øÏȳö£¬ÒÔ¼°¶ÓÁеÄÏȽøÏȳöµÄÔÀí¡£
*Á½¸öADTÊÇͬ²½µÄ£¬Èç¹û´ÓÕ»³öÀ´µÄ×Ö·ûÓë´Ó¶ÓÁгöÀ´µÄ×Ö·ûÈ«²¿Ò»Ñù£¬
*˵Ã÷Ϊ ......
Æðµ½µÚÒ»µÀ°²È«±£ÕÏ×÷ÓõĔ˫Ç×ίÅÉÀà¼ÓÔØÄ£ÐÍ”
Ë«Ç×ίÅÉ·½Ê½µÄÀà¼ÓÔØ£¬Ö¸µÄÊÇÓÅÏÈ´Ó¶¥²ãÆô¶¯Àà¼ÓÔØÆ÷¿ªÊ¼£¬×Ô¶¥Ïòϵķ½Ê½¼ÓÔØÀàµÄÄ£ÐÍ£¨²Î¼ûµÚÒ»ÌõÀà×°ÔØÆ÷Ìåϵ½á¹¹£©¡£
ÕâÖÖÄ£Ð͵ĺô¦ÊÇ£¬µ×²ãµÄÀà×°ÔØÆ÷×°ÔØµÄÀàÎÞ·¨Óë¶¥²ãÀà×°ÔØÆ÷×°ÔØµÄÀàÏ໥µ÷Óá£
ÄÄÅÂÊÇͬ°üϵÄÀֻ࣬ҪËûÃDz»ÊôÓÚͬһÀà×°ÔØÆ÷£¬ ......