【发布时间】:2013-10-23 21:12:17
【问题描述】:
这是我的情况:
我有一个方法,它有一个字符串作为参数。此方法必须从名为 Urls 的类接收对象。它必须接收的对象与字符串的值具有相同的名称。这是我的代码:
private Object getObject(String objectName){
try
{
Field field = Urls.class.getField(objectName);
}
catch (NoSuchFieldException e)
{}
catch (IllegalAccessException e)
{}
}
这是我的 Urls 类:
public class Urls{
public static final String[] ASTUN = new String[]{
"http://www.astun.com/camara/truchas.jpg",
"https://www.todonieve.com/photowebcam.asp?fotografia=astun/astun.jpg",
"http://www.astun.com/camara/caba%C3%B1a%20sarrios.jpg",
"http://www.astun.com/camara/sector%20sarrios.jpg",
"http://www.astun.com/camara/sector%20raca%20prad.jpg",
"http://www.astun.com/camara/sector%20aguila%20cr.jpg",
"http://www.astun.com/camara/sector%20truchas.jpg",
"http://www.astun.com/camara/sector%20llanos%20.jpg",
"http://www.astun.com/camara/llegada.jpg",
"http://www.astun.com/camara/terraza.jpg",
"http://www.astun.com/camara/panoramica.jpg",
"http://www.astun.com/camara/snow.jpg"
};
private static final String[] CANDANCHU = new String[]{
"https://www.todonieve.com/photowebcam.asp?fotografia=candanchu/candanchu.jpg",
"https://www.todonieve.com/photowebcam.asp?fotografia=CandanchuNew/CandanchuNew.jpg",
"https://www.todonieve.com/photowebcam.asp?fotografia=candanchu_rinconada/candanchu_rinco.jpg",
"https://www.todonieve.com/photowebcam.asp?fotografia=candanchu_tobazo/candanchu_tobazo.jpg"
};
}
那么,这样我就有了一个 Field 对象,但是我怎样才能得到那个字段的 String[] 呢?我已经阅读了 Field 类的 get(Object object) 方法,但似乎我没有做我想做的事......
编辑:我想要 ASTUN 或 CANDACHU 字符串数组
【问题讨论】:
-
对象没有“名称”。你是说变量吗?如果是这样,这会给代码带来代码气味。你想创建一个地图吗?请注意,您的 Urls 类只包含静态字符串数组。用String获取String的目的是什么?
-
你能举例说明你期望的结果是什么吗?
-
+Hovercraft Full Of Eels 我的意思是其中一个字段...作为参数传递的字符串将包含“ASTUN”或“CANDANCHU”
-
您能否更好地描述此代码试图解决的问题,而不是您尝试使用的代码解决方案。这对我来说完全不对劲,我想知道是否有更好的方法来解决整体问题,也许你在找错树了。