用反射可以实现。
留一个邮件。这里一贴代码就会被删除。
通过反射具体代码
Class cl=m.class;
Field field=cl.getDeclaredField(xy);
field.setAccessible(true);
Object value=(Object)field.get(new m());
System.out.println(value);
用反射实现。
String xy="abc";
m instance = new m();
Class cls = m.class;
Field field=cls.getDeclaredField(xy);
System.out.println(field.get(instance));结果是3
其实就是Class类的用法问题。不细讲了,看懂我下面这个例子应该就会了。
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestClass {
public static void main(String[] args) throws SecurityException, NoSuchFieldException, NoSuchMethodException,
IllegalArgumentException, IllegalAccessException, InvocationTargetException {
BVO a = new BVO();
a.setName("123123123");
Field[] fs = a.getClass().getDeclaredFields();
Method[] methods = a.getClass().getMethods();
for (Field f : fs) {
String fieldGetterName = null;
for (Method m : methods) {
if (m.getName().toLowerCase().contains(f.getName().toLowerCase())) {
fieldGetterName = m.getName();
break;
}
if (fieldGetterName != null) {
Object value = a.getClass().getMethod(fieldGetterName, new Class[] {}).invoke(a, new Object[] {});
System.out.println("Field is:" ◆ f.getName() ◆ " value is:" ◆ value);
class BVO {
private String name;
private int age;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public int getAge() {
return age;
public void setAge(int age) {
this.age = age;
这个例子整个拷贝到一个类文件里面,执行一下就差不多看明白。
1. 于Class m中定义方法:
public int getAbc(){
return this.abc;
public int getDef(){
return this.def;
2. 利用反射机制, 通过xy定义的字符串找到对应的class m中的方法名getXXX( XXX表示xy的值),然后返回处理结果。
以上就是土嘎嘎小编大虾米为大家整理的字符串转标签_java字符串怎么转标识符相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!