帮忙看下代码

问题描述

packageshengsiyuan.reflection;importjava.lang.reflect.Field;importjava.lang.reflect.Method;publicclassReflectTester{publicObjectcopy(Objectobject)throwsException{Class<?>classType=object.getClass();ObjectobjectCopy=classType.getConstructor(newClass[]{}).newInstance(newObject[]{});Field[]fields=classType.getDeclaredFields();for(Fieldfield:fields){Stringname=field.getName();StringfirstLetter=name.substring(0,1).toUpperCase();StringgetMethodName="get"+firstLetter+name.substring(1);StringsetMethodName="set"+firstLetter+name.substring(1);MethodgetMethod=classType.getMethod(getMethodName,newClass[]{});MethodsetMethod=classType.getMethod(setMethodName,newClass[]{field.getType()});Objectvalue=getMethod.invoke(object,newObject[]{});setMethod.invoke(objectCopy,newObject[]{value});}/*Constructorcons=classType.getConstructor(newClass[]{String.class,int.class});Objectobj2=classType.newInstance();Objectobj=cons.newInstance(newObject[]{"hello",3});System.out.println(obj);*/returnobjectCopy;}publicstaticvoidmain(String[]args)throwsException{Customercustomer=newCustomer("Tom",20);customer.setId(1L);ReflectTestertest=newReflectTester();Customercustomer2=(Customer)test.copy(customer);System.out.println(customer2.getId()+","+customer2.getAge()+","+customer2.getName());}}classCustomer{privateLongid;privateStringname;privateintage;Customer(){}Customer(Stringname,intage){this.name=name;this.age=age;}publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}为什么运行总出现下面情况:Exceptioninthread"main"java.lang.NoSuchMethodException:shengsiyuan.reflection.Customer.<init>()atjava.lang.Class.getConstructor0(Class.java:2706)atjava.lang.Class.getConstructor(Class.java:1657)atshengsiyuan.reflection.ReflectTester.copy(ReflectTester.java:11)atshengsiyuan.reflection.ReflectTester.main(ReflectTester.java:51)

时间: 2025-01-21 05:43:48

帮忙看下代码的相关文章

jsp-求教:哪位大神帮忙看下代码,本人小白,实在不知道哪里有问题!!

问题描述 求教:哪位大神帮忙看下代码,本人小白,实在不知道哪里有问题!! 代码如下,登陆页面,把java逻辑放到了后台页面上,运行的时候没有报错,但是不跳转.测试账号密码正确不跳转因为没写,但是测试账号密码错误的情况下也不跳转. <%@ page language=""java"" import=""java.util.*java.sql.*info.DataBase"" pageEncoding=""

帮忙看下代码,提示错误:赋值 -- 它是只读的 代码哪里错了?

问题描述 帮忙看下代码,提示错误:赋值--它是只读的代码哪里错了?publicstringgetFileName{get{getFileName="";try{if(((Request==null)==false)){stringwk=Request.Url.LocalPath.ToString();intpos=wk.LastIndexOf("/");if((pos!=-1)){wk=wk.Substring(pos+1);}returngetFileName=w

编程-跪求大神帮忙看下代码,错了不晓得怎么改哦

问题描述 跪求大神帮忙看下代码,错了不晓得怎么改哦 switch (uMsg) { case WM_CHAR: char szChar[20]; sprintf(_T(szChar),_T( "char code is %d"), wParam); 错误 1 error C2065: "LszChar": 未声明的标识符 IntelliSense: "const wchar_t *" 类型的实参与 "const char *"

textview-android无法显示地理位置信息,求帮忙看下代码

问题描述 android无法显示地理位置信息,求帮忙看下代码 package com.example.locationtest; import java.util.List; import android.app.Activity; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.L

为什么我拖拽后的控件回不去!!帮忙看下代码是什么问题!!谢谢

问题描述 为什么我拖拽后的控件回不去!!帮忙看下代码是什么问题!!谢谢 这是JAVA代码 package com.example.test; import com.example.test1.R; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; i

ie8下 全选功能报错-ie8下 JS全选功能报错 求达人帮忙看下代码

问题描述 ie8下 JS全选功能报错 求达人帮忙看下代码 // ???? function autoCalDaysNm() { for(var j=1; j<=29; ++j) { var el = $("#writeForm input[name=atdDay" + j + "]"); var d = Date.parse("2016/02/" + el.val()); if (d) { var t = d.toString("

java大神帮忙看下代码越界问题

问题描述 java大神帮忙看下代码越界问题 package com.net.ch02; public class Split { public void func(String str,String s){ String Str = s+str+s; String[]array = new String[100]; int[]ray = new int[100]; for(int i = 1 ; i<=Str.length();i++ ){array[i-1] = Str.substring(i

c++-帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢!

问题描述 帮忙看下代码,运行不了了,哪里有问题麻烦指出来下谢谢~!麻烦修改下 谢谢! #include #include using namespace std; int min(int n, int m); int max(int n, int m); const int N = 50; void Read_Store(int Number[N], int &length); void Add_Output(); int main() { cout<<" This is a

有会js的么,可以帮忙看下代码哪里有问题么

问题描述 有会js的么,可以帮忙看下代码哪里有问题么我想做一个将数据库一条记录删除,在每条记录前都会动态生成一个checkbox选项,勾选后可以将其删除,可是现在貌似itemcd的值一直都没有传过来,不知道是怎么回事<scripttype="text/javascript">functiongetBox(){varcd="";varcount=0;varids=document.getElementsByName("user.itemcd&qu

麻烦各位帮忙看下代码,看是什么原因导致程序出现问题

问题描述 privatevoidbutton1_Click(objectsender,EventArgse){try{if(mywatcher==null){SQLHelp.IniWriteValue("INI","localpath",this.textBox1.Text,System.Windows.Forms.Application.StartupPath+"\CONFIG.INI");SQLHelp.IniWriteValue("