我想创建一个方法,除了其他方面之外,还会创建一个名为method参数的对象。 (如果它在其他地方得到解决,我很抱歉,没有找到它)如下所示:
public return_type method (String ARGUMENT1)
{
...
ClassOfSomeKind objectOfSomeKind someprefix_ARGUMENT1 = new ClassOfSomeKind();
}
答案 0 :(得分:3)
这是命名变量 - 而不是对象。对象没有名称,因此。 (当然,你可以有一个名为name
的字段,但它不是一般的东西。)
变量名通常仅在编译时相关 - 因此动态执行此操作并不合理。
听起来你可能想要一个Map<String, YourClassType>
,这样你就可以将每个对象与一个名字相关联,然后再获取它。如下所示:
class Foo {
private final Map<String, Bar> bars = new HashMap<>();
public Bar createBar(String name) {
Bar bar = new Bar();
bars.put(name, bar);
return bar;
}
public void processBar(String name) {
Bar bar = bars.get(name);
if (bar == null) {
// No Bar for that name...
// Maybe throw an exception?
}
// Do something with bar
}
}
答案 1 :(得分:2)
你可以使用一个Map,其中键是你的变量名,值是ObjectOfSomeKind对象:
public class YourClass {
...
private Map<String, ObjectOfSomeKind> yourHashMap= new HashMap<String, ObjectOfSomeKind>();
public method (string ARGUMENT1)
{
yourHashMap.put("someprefix_"+ARGUMENT1, new ObjectOfSomeKind ("someprefix_"+ARGUMENT1));
}
...
public retrieveMethod (string ARGUMENT1)
{
ObjectOfSomeKind objectOfSomeKindRetrieved = yourHashMap.get("someprefix_"+ARGUMENT1);
}
}