Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在运行时,如何指定类,以便函数可以创建该特定类的对象?_Java - Fatal编程技术网

Java 在运行时,如何指定类,以便函数可以创建该特定类的对象?

Java 在运行时,如何指定类,以便函数可以创建该特定类的对象?,java,Java,我有一个叫做Model的接口。它有一个名为反序列化()的方法 模型接口有许多实现 我有一个名为Utilities的特殊类,它处理模型对象(即模型接口的实现) 在实用程序中,我有一个函数,它接受指定的类,并创建该类的对象列表 public static <T extends Model> List<T> getList(StringReader reader, Class <T> theClass) { ... } 公共静态列表getList(Str

我有一个叫做Model的接口。它有一个名为反序列化()的方法

模型接口有许多实现

我有一个名为Utilities的特殊类,它处理模型对象(即模型接口的实现)

在实用程序中,我有一个函数,它接受指定的类,并创建该类的对象列表

 public static <T extends Model> List<T> getList(StringReader reader, Class <T> theClass)
{
   ...
} 
公共静态列表getList(StringReader阅读器,类)
{
...
} 
我有两个类A和B,它们都实现了这个模型。在A类中,我有以下代码-

A
{
  int x;
  int y;
  int z;
  ArrayList<B> listOfBObjects;


public void deserialize(String dataString)
 {
    ...
    ...
    listOfBObjects = Utilities.getList();  <-- here I want to specify "B". How to do that?
 }
}
A
{
int x;
int-y;
intz;
数组列表对象;
public void反序列化(字符串数据字符串)
{
...
...
ListOfObjects=Utilities.getList();

但我在你之前的问题中回答了这个问题…

工厂对象是处理此类问题的传统方式。是的,但可能不是在我发布此问题之前!然后你就是一个非常快速的问题海报:)检查,我在11分钟前回答了这个问题,而这个问题是5分钟前提出的。但我猜你当时正在忙着写这个问题。
A
{
  int x;
  int y;
  int z;
  ArrayList<B> listOfBObjects;


public void deserialize(String dataString)
 {
    ...
    ...
    listOfBObjects = Utilities.getList();  <-- here I want to specify "B". How to do that?
 }
}
listOfBObjects = Utilities.getList(new StringReader(dataString), B.class);