在方法内获取调用此方法参数(指定获得注解的值)

public  Serializable pkVal(){
		Long value=null;
		List list = Arrays.asList(this.getClass().getDeclaredFields());
		for (int i = 0; i < list.size(); i++) {
			Field field = list.get(i);
			if (field.isAnnotationPresent(TableId.class)) {//是否使用TableId注解
				System.out.println("实体类存在" + list.size() + "个变量,字段名" + field.getName() + "有" + field.getDeclaredAnnotations().length + "个注解(包括tableId)");
				try {
					String  Id = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1);
					Method method = this.getClass().getMethod("get"+Id);// 父类对象调用子类方法(反射原理)
					Object o = method.invoke(this);
					value=Long.valueOf(o.toString());
				} catch (Exception e) {
					System.out.println("pkval()有异常");
				}
			}
		}
		return value;
	};


你可能感兴趣的:(在方法内获取调用此方法参数(指定获得注解的值))