锘??xml version="1.0" encoding="utf-8" standalone="yes"?>import java.lang.reflect.Field;
2import java.lang.reflect.Method;
3
4public class ReflctTester {
5
6 public Object copy(Object object) throws Exception{
7 Class<?> classType = object.getClass();
8 System.out.println("Class :"+ classType.getName());
9 //榛樿鏋勯犳柟娉曞繀欏諱負(fù)public,涓嶆槑鐧戒負(fù)浠涔堟崲浣渇riendly,protected鍗翠笉琛?鑰屾樉紺虹殑鏋勯犳柟娉曞嵈鍙互
10 Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});
11 Field fields[] = classType.getDeclaredFields();
12 for(int i=0;i<fields.length;i++){
13 Field field = fields[i];
14 String fieldName = field.getName();
15 String firstLetter = fieldName.substring(0,1).toUpperCase();
16 String getMethodName = "get"+firstLetter+fieldName.substring(1);
17 String setMethodName = "set"+firstLetter+fieldName.substring(1);
18 Method getMethod = classType.getMethod(getMethodName,new Class[]{});
19 Method setMethod = classType.getMethod(setMethodName, new Class[]{field.getType()});
20 Object value = getMethod.invoke(object, new Object[]{});
21 System.out.println(fieldName+":" + value);
22 setMethod.invoke(objectCopy,new Object[]{value});
23 }
24 return objectCopy;
25 }
26
27 public static void main(String[] args) throws Exception {
28 Customer customer = new Customer("Tom", 21);
29 customer.setId(new Long(1));
30 Customer customerCopy = (Customer) new ReflctTester().copy(customer);
31 System.out.println("Copy information:" + customerCopy.getId() + " " + customerCopy.getName() + " " +customerCopy.getAge());
32 }
33
34}
35
36class Customer{
37 private Long id;
38 private String name;
39 private int age;
40 protected Customer(){}
41 public Customer(String name,int age){
42 this.name = name;
43 this.age = age;
44 }
45 public int getAge() {
46 return age;
47 }
48 public void setAge(int age) {
49 this.age = age;
50 }
51 public Long getId() {
52 return id;
53 }
54 public void setId(Long id) {
55 this.id = id;
56 }
57 public String getName() {
58 return name;
59 }
60 public void setName(String name) {
61 this.name = name;
62 }
63}
涓婇潰鐨勪緥瀛愪腑濡傛灉榛樿鐨勬瀯閫犳柟娉曚笉涓簆ublic鍒欐姤
Exception in thread "main" java.lang.NoSuchMethodException: <init>()寮傚父
闂竴涓湅鍙嬪緱鐭?<init>()榪欎釜灝辨槸榛樿鏋勯犳柟娉曠殑絳懼悕
鑰?lt;cinit>() 鏄被鐨勫垵濮嬪寲鏂規(guī)硶絳懼悕,絎竴嬈″姞杞界被鏃舵姤閿?
]]>
鎺ュ彛
鍙互瀹氫箟甯擱噺,浣嗕笉鍙互瀹氫箟鎴愬憳鍙橀噺
]]>
銆銆寮曠敤鏈韓鐨勪笉鍙橈細(xì)
銆銆final StringBuffer a=new StringBuffer("immutable");
銆銆final StringBuffer b=new StringBuffer("not immutable");
銆銆a=b;//緙栬瘧鏈熼敊璇?br />
銆銆寮曠敤鎸囧悜鐨勫璞′笉鍙橈細(xì)
銆銆final StringBuffer a=new StringBuffer("immutable");
銆銆a.append(" broken!"); //緙栬瘧閫氳繃
銆銆鍙錛宖inal鍙寮曠敤鐨?#8220;鍊?#8221;(涔熷嵆瀹冩墍鎸囧悜鐨勯偅涓璞$殑鍐呭瓨鍦板潃)鏈夋晥錛屽畠榪嬌寮曠敤鍙兘鎸囧悜鍒濆鎸囧悜鐨勯偅涓璞★紝鏀瑰彉瀹冪殑鎸囧悜浼?xì)瀵艰嚧缂栬瘧鏈熼敊璇傝嚦浜庡畠鎵鎸囧悜鐨勫璞$殑鍙樺寲錛宖inal鏄笉璐熻矗鐨勩傝繖寰堢被浼?=鎿嶄綔絎︼細(xì)==鎿嶄綔絎﹀彧璐熻矗寮曠敤鐨?#8220;鍊?#8221;鐩哥瓑錛岃嚦浜庤繖涓湴鍧鎵鎸囧悜鐨勫璞″唴瀹規(guī)槸鍚︾浉絳夛紝==鎿嶄綔絎︽槸涓嶇鐨勩?br />
銆銆鐞嗚Вfinal闂鏈夊緢閲嶈鐨勫惈涔夈傝澶氱▼搴忔紡媧為兘鍩轟簬姝?---final鍙兘淇濊瘉寮曠敤姘歌繙鎸囧悜鍥哄畾瀵硅薄錛屼笉鑳戒繚璇侀偅涓璞$殑鐘舵佷笉鍙樸傚湪澶氱嚎紼嬬殑鎿嶄綔涓?涓涓璞′細(xì)琚涓嚎紼嬪叡浜垨淇敼錛屼竴涓嚎紼嬪瀵硅薄鏃犳剰璇嗙殑淇敼鍙兘浼?xì)瀵艰嚧鍙︿竴涓嬌鐢ㄦ瀵硅薄鐨勭嚎紼嬪穿婧冦備竴涓敊璇殑瑙e喅鏂規(guī)硶灝辨槸鍦ㄦ瀵硅薄鏂板緩鐨勬椂鍊欐妸瀹冨0鏄庝負(fù)final錛屾剰鍥句嬌寰楀畠“姘歌繙涓嶅彉”銆傚叾瀹為偅鏄緬鍔崇殑銆?br />
鏂囩珷鏉ユ簮:http://www.cnblogs.com/rodney/archive/2005/08/18/217458.html
]]>
3.1)鍝嶅簲閲嶅畾鍚?鐢熸垚鍝嶅簲,嫻忚鍣ㄤ笉鏄劇ず涓滆タ,涓嶅湪鍚屼竴涓綔鐢ㄥ煙
2)璇鋒眰杞彂:涓嶇敓鎴愬搷搴?灝嗚姹傚埌涓嬩釜欏甸潰(鍦板潃涓嶅彉)
]]>
java濡備綍鑾峰彇url 鍙傛暟涓甫#鐨勭壒孌婂瓧絎?
1.鍏堣繘琛屼簡(jiǎn)緙栫爜鍐嶄紶鍙傛暟
2.request.getQueryString().substring(request.getQueryString().lastIndexOf("#")+1);