`
mayday85
  • 浏览: 45666 次
  • 性别: Icon_minigender_1
  • 来自: 污点星狗屎国
文章分类
社区版块
存档分类
最新评论

给群里的人写了个反射的小例子,扔这儿吧(超入门级,没吃过反射的进)

阅读更多
如果忘记一个Object的type如何取出Field中的values
public class People {
	private String name;
	private Integer age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
}


import java.lang.reflect.Field;

public class Test {

	public static void main(String[] args) throws Exception {
		People beibei = new People();
		beibei.setName("beibei");
		beibei.setAge(23);
		Field[] fs = beibei.getClass().getDeclaredFields();
		for(Field f: fs){
			String methodName = "get"+upChar(f.getName());
			System.out.println(
					beibei.getClass().getMethod(methodName, null).invoke(beibei, null)
			);
		}
	}
	
	private static String upChar(String str){
		char[] str2 = str.toCharArray();
		if(str2[0]>='a'&&str2[0]<'z') {
			str2[0]=(char)(str2[0]-32); 
		} 
		return new String(str2);		
	}
}
分享到:
评论
3 楼 抛出异常的爱 2008-12-26  
mayday85 写道
yinsuxiaokucha 写道
...咋连个注释都没有哩


就这么几行可读性很差么?
你要是真的需要注释我可以加上
真的需要么?

String methodName = "get"+upChar(f.getName()); 
这个自写方法写个注释更好.

PS:首字母?
StringUtils.capitalize
2 楼 mayday85 2008-12-26  
yinsuxiaokucha 写道
...咋连个注释都没有哩


就这么几行可读性很差么?
你要是真的需要注释我可以加上
真的需要么?
1 楼 yinsuxiaokucha 2008-12-23  
...咋连个注释都没有哩

相关推荐

    HFSS天线设计高级培训教程(pdf)+ANSOFT HFSS天线设计实例的技术文档资料.zip

    8个HFSS的实例 HFSS 10 Fullbook 另加所有例子 HFSS 矩形波导 和 带通滤波器仿真实例 HFSS天线设计高级培训教程(pdf) HFSS实例演示——几种典型的实例,便于快速入门 滤波器设计全套解决方案.pdf 十一章单反射面天线...

    JavaScript王者归来part.1 总数2

     11.3.2.1 模拟对话框--创建一个窗口对话框及一个对话框阻塞进行的例子   11.3.2.2 showModalDialog和showModelessDialog--非W3C或ECMAScrip标准   11.3.3 状态栏   11.4 框架--上层的Window对象   11.4.1 ...

    Java面向对象程序设计(清华版)压缩卷2

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最...书中给出大量经过调试运行良好的实例,便于初学者入门,同时有助于提高读者解决实际问题的能力。全书共分三个压缩卷,为PDF格式。

    OPenGL编程书籍

    他喜欢每个人对他的Demo的反映,并且决定更进一步,在他的Demo的最后解释他怎么实现这么酷的效果的。这一章教程构建在第六章的代码之上。阅读完这一章之后,你将能弯曲,折叠以及操纵你自己的纹理。这绝对是个很漂亮...

    asp.net知识库

    忽略大小写Replace效率瓶颈IndexOf 随机排列算法 理解C#中的委托[翻译] 利用委托机制处理.NET中的异常 与正则表达式相关的几个小工具 你真的了解.NET中的String吗? .NET中的方法及其调用(一) 如何判断ArrayList,...

    Nehe的OpenGL教程电子书

    他喜欢每个人对他的Demo的反映,并且决定更进一步,在他的Demo的最后解释他怎么实现这么酷的效果的。这一章教程构建在第六章的代码之上。阅读完这一章之后,你将能弯曲,折叠以及操纵你自己的纹理。这绝对是个很漂亮...

    一个轻量级、面向对象的Python有限状态机实现-python

    一个轻量级、面向对象的Python有限状态机实现 转换 一种轻量级、面向对象的 Python 状态机实现,带有许多扩展。 与 Python 2.7+ 和 3.0+ 兼容。 安装 pip install tr​​ansitions ... 或从 GitHub 克隆 repo,...

    超爽的自学课件(java)

    1) 第1章:对象入门 这一章是对面向对象的程序设计(OOP)的一个综述,其中包括对“什么是对象”之类的基本问题的回答,并讲述了接口与实现、抽象与封装、消息与函数、继承与合成以及非常重要的多形性的概念。...

    PHP和MySQL Web开发第4版pdf以及源码

    5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回...

    PHP和MySQL Web开发第4版

    5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回...

    PHP和MySQL WEB开发(第4版)

    5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 ...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Java开发技术大全 电子版

    第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释执行命令的使用10 1.2.5...

    springmybatis

    (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看...

    疯狂JAVA讲义

    我把另一个构造器里的代码复制、粘贴到这个构造器里不就可以了吗? 143 5.6 类的继承 144 5.6.1 继承的特点 144 5.6.2 重写父类的方法 145 5.6.3 父类实例的super引用 146 学生提问:我们只是创建了一个Ostrich...

    庖丁解牛纵向切入ASP.NET 3.5控件和组件开发技术.pdf

     本书适合从事asp.net技术多年想往深度理解asp.net工作机制的开发人员阅读,对于刚刚入门的初级开发人员,本书的前面几章也介绍了几个入门性的应用例子,本书还可以作为在校学生的就业预备教材。针对读者安装的开发...

    最新go语言中文教程及手册(强烈推荐)

    Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表 达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核 和网络应用,而新的类型系统允许构建有性的模块化程序。Go 编译到机器码非常...

Global site tag (gtag.js) - Google Analytics