java中如何用字符串取属性
一个类AAa=newA();类中默认有属性b,那么我直接a.b就可以取出属性b的值了,但是现在属性名是一个传过来的字符串,也就是a."b",这样肯定不行,那我该怎么取呢....
一个类A
A a= new A(); 类中默认有属性b,那么我直接a.b就可以取出属性b的值了,但是现在属性名是一个传过来的字符串,也就是a."b",这样肯定不行,那我该怎么取呢...不知道java中有这样的方法没有 展开
A a= new A(); 类中默认有属性b,那么我直接a.b就可以取出属性b的值了,但是现在属性名是一个传过来的字符串,也就是a."b",这样肯定不行,那我该怎么取呢...不知道java中有这样的方法没有 展开
3个回答
展开全部
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectTest {
public static void main(String[] args) throws Exception {
User user = new User();
Field field = user.getClass().getField("name");
System.out.println(field.get(user));
Method method = user.getClass().getMethod("getPassword");
System.out.println(method.invoke(user));
}
}
class User {
public String name = "admin";
public String getPassword() {
return "123456";
}
}
可以利用JAVA“反射”,看看我上面的例子吧。
展开全部
import
javax.swing.*;
public
class
example4_3
{
public
static
void
main(string[]
args)
{
byte
d[]="我们正在教室上课".getbytes();
string
s=new
string(d,8,4);
joptionpane.showmessagedialog(null,"第8个字符位置开始的两个汉字:"+s);
}
}
javax.swing.*;
public
class
example4_3
{
public
static
void
main(string[]
args)
{
byte
d[]="我们正在教室上课".getbytes();
string
s=new
string(d,8,4);
joptionpane.showmessagedialog(null,"第8个字符位置开始的两个汉字:"+s);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把 “b” 放到一个数组里 然后在访问
更多追问追答
追问
怎么用?具体一点呢?放到数组就能直接点出属性了么?
追答
b的属性 不就是字符串吗 操作的话 不就是取出b的值吗 我不知道 你具体要操作啥 不好回答啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询