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ÊÇ×îºÃµÄ£¬¾Í¿ªÊ¼Ñ§ÁËÆðÀ´¡£Ï£Íû¼ÇÏÂÕâЩ£¬¶Ô×Ô¼ººÍÒÔºóµÄѧϰÕßÓаïÖú£¡µ±È»ÕâÖ»ÊÇÎÒ¸öÈ˵ÄÒ»µãѧϰ¸ÐÎò£¬´óÅ£µ½´Ë¿ÉÈÆ¹ý£¬ÈçÓп´·¨£¬²»Áߴͽ̡£
Ò»ÃÅÓïÑÔ»ù±¾µÄÂß¼½á¹¹ºÍÀàÐÍ»ù±¾ÊÇÒ»ÑùµÄ¡£ËùÒÔÎÒÈÏΪJavaÓïÑԵĻù´¡Ñ§Ï°Ó¦¸Ã´Ó ......
ÈçºÎÓÃJAVA ¶ÔÏó£¿
д¼òµ¥Ï¸øÎÒ¿´Ï ллÁË
´´½¨Àà Ãû×Ö =new ÉèString ¼¸¸ö¶¼¿ÉÒÔ¡£ ÔÚÓø´ÖÆ Êä³ö
ÔÚÏÂÃæ¼ÌÐø´´½¨Àà ºóÃæ×îºÃ±ê×¢ÉÏ//ÕâÑù¿´ÆðÀ´¼òµ¥ÏÂллÁË
Çó½â¾ö ÀàºÍ¶ÔÏóûѧÃ÷°×ÀÏʦ½²µÄÎÒºýÍ¿ ÃÔºý×ö²»³öÀ´¡£ ......
ÐÂÊÖ¸ÐÎò……
¾Í¸öÈËÀí½â£¬javaÖзÖΪ»ù±¾Êý¾ÝÀàÐÍ»¹ÓжÔÏó¡£¶ÔÓÚ»ù±¾Êý¾ÝÀàÐÍ¡£ÔÚ¸³Öµ²Ù×÷Öд«µÝµÄÊÇÖµ£¬¶ø²»ÊÇÒýÓá£ÀýÈç
int a = 10;
int b = a;
int b = 11;
Õâʱ£¬Êä³öa,b¿ÉÒÔ·¢ÏÖ¡£a = 10 ,b = 11;ÔÚb = aÕâ¸ö¸³Öµ²Ù×÷ÖУ¬Êǽ«a¶ÔÓ¦µÄÖµ´«µÝ¸øÁËb¡£¶ø²»Êǽ«bµÄÒýÓÃÖ¸ÏòÁËaµÄ ......
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁ»òʹÓÃAdept/ÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷£¬ÔÚÆäÖÐËÑË÷"sun-java6-jdk"²¢±ê¼Ç°²×°¡£
sudo apt-get install sun-java6-jdk
Ìáʾ£º°²×°¹ý³ÌÖÐÐèÒªÄã»Ø´ðÊÇ·ñͬÒâʹÓÃÐÒ飨ÖÕ¶ËÖкìÀ¶É«µÄÌáʾ½çÃæ£©£¬´Ëʱ°´tab¼üÖÁOK£¬ÔÙ°´»Ø³µ¼´¿ÉÕý³£°²×°¡£
* ÉèÖõ±Ç°Ä¬ÈϵÄjava½âÊÍÆ÷ºÍ±àÒ ......
package ui;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
impor ......