Я хотел бы создать метод, который, помимо прочего, создаст объект, названный как аргумент метода. (Я прошу прощения, если он разрешен где-то в другом месте, не нашел его). Что-то вроде следующего:
public return_type method (String ARGUMENT1)
{
...
ClassOfSomeKind objectOfSomeKind someprefix_ARGUMENT1 = new ClassOfSomeKind();
}
Это назначение переменной - не объект. Объекты не имеют имен, как таковых. (У вас может быть поле под 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
}
}
Вы можете использовать карту, где ключ является вашим именем переменной, а значением является объект 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);
}
}
string objectName
в качестве параметра иSomeClass
вместоobjectOfSomeKind
.