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;
}
¶ø
Ïà¹ØÎĵµ£º
javaÖг£ÓõÄÊý¾Ýת»»
ǰЩÌìÔÚÏîÄ¿ÖÐÓöµ½ÁËCalenderºÍDateµÄÏ໥ת»»ÎÊÌ⣬Ȼºó¾Í²éÁËһЩ×ÊÁÏ¡£ÕûÀíÁËһЩÏà¹ØµÄ³£ÓÃת»»£¬ºÍ´ó¼Ò·ÖÏíÏ£º
1. Java°ü×°ÀࣺÔÚ½éÉܾßÌåµÄÊý¾ÝÀàÐÍת»»Ö®Ç°£¬ÎÒÃÇÓбØÒªÏȽéÉÜjavaÖеÄÒ»¸öÌØÊâµÄ²ð×°ÏäÀàÐÍ----java°ü×°Àà¡£
• Java°ü×°Àà³öÏÖµÄÄ¿µÄ£ºÎªÁËÄܹ»Ê¹java³ÌÐòÔ±¿ÉÒÔ½«ja ......
package com.algrothim.sample.plo;
/**
* @author yuan
*ÕâÒ»¸öÅжÏÒ»¸ö×Ö·û´®ÊÇ·ñΪ»ØÎĵÄÀý×Ó¡£
*ÀïÃæ½èÖúÈý¸öÖØÒªµÄÊý¾Ý½á¹¹µÄ֪ʶ£º
*Õ»£¬¶ÓÁУ¬ÒÔ¼°ÒýÓá£
*´Ë³ÌÐòµÄÔÀíÊÇ£º¸ù¾ÝÕ»µÄºó½øÏȳö£¬ÒÔ¼°¶ÓÁеÄÏȽøÏȳöµÄÔÀí¡£
*Á½¸öADTÊÇͬ²½µÄ£¬Èç¹û´ÓÕ»³öÀ´µÄ×Ö·ûÓë´Ó¶ÓÁгöÀ´µÄ×Ö·ûÈ«²¿Ò»Ñù£¬
*˵Ã÷Ϊ ......
²âÊÔ»·¾³£º
SDK£ºOracle JRockit for Java version 6, Java Communication for Windows 2.0
OS£ºWINDOWS7
ÍâÉ裺´®¿ÚÌõÐÎÂëɨÃèǹ
Server£ºTomcat6
¿´ÁËÍøÉÏÁ¼Ý¬²»ÆëµÄ¹ØÓÚApplet·ÃÎÊ´®¿ÚµÄÎÄÕ£¬×ܽáÆðÀ´Ëù¹Ø×¢µÄÎÊÌâÎÞÍâºõÒÔÏÂ3¸ö£º
1. Èý¸öÎļþ£¨comm.jar¡¢javax.comm.propertiesºÍwin3 ......
ÈçºÎÓÃJAVA ¶ÔÏó£¿
д¼òµ¥Ï¸øÎÒ¿´Ï ллÁË
´´½¨Àà Ãû×Ö =new ÉèString ¼¸¸ö¶¼¿ÉÒÔ¡£ ÔÚÓø´ÖÆ Êä³ö
ÔÚÏÂÃæ¼ÌÐø´´½¨Àà ºóÃæ×îºÃ±ê×¢ÉÏ//ÕâÑù¿´ÆðÀ´¼òµ¥ÏÂллÁË
Çó½â¾ö ÀàºÍ¶ÔÏóûѧÃ÷°×ÀÏʦ½²µÄÎÒºýÍ¿ ÃÔºý×ö²»³öÀ´¡£ ......
ÔÚ¿ª·¢Öбàд¸ßÐÔÄÜJavaµÄ×¢Òâµã
1.Òª°Ñ×¢Òâµã·Åµ½Éè¼ÆÉÏ.
2.²»ÒªÒÀÀµ±àÒëÆ÷µÄÓÅ»¯¼¼Êõ,ÕýÈ·µÄÀí½âÔËÐÐÆÚ´úÂë,À´Ìá¸ßµÄ´úÂëµÄÔËÐÐËÙ¶È.
3.¶Ô¶ÔÏóµÄ´´½¨³É±¾½µµ½×îµÍ(±ÈÈç:ºÏÀíÉè¼ÆÀàµÄ´óС¡¢ºÏÀíÉè¼ÆÀàµÄÉî¶È¡¢²»Òª´´½¨²»±ØÒªµÄ¶ÔÏóµÈµÈ¡£¡£)
4.¾¡Á¿Ê¹ÓÃStringBufferÁ¬½Ó×Ö·û´®¡£
5.½µµÍͬ²½´øÀ´µÄÐÔÄÜÓ°Ïì¡£
ÒÔÉÏÖ»Ê ......