我对java有点陌生,正在尝试创建一个返回实例类型的类/方法,我在obj-c中创建了该类来演示我想要做什么,因为我更熟悉obj-c 。现在我正在尝试用java做类似的东西,但是遇到了一些麻烦,我不是要求翻译,只是对我可能犯的常见错误进行一些指导。这是我的 obj-c 代码,然后我发布我在 java 中尝试过的代码。
- (instancetype)time:(NSString)weekday hour:(NSInteger)hour minute:(NSInteger)minute {
self = [super init];
if (self != nil) {
timeFromWeek = weekday * 24 * 60 + hour * 60 + minute;
}
return self;
}
这是我在 java 中尝试的
public static class SomeContainer<E>
{
E createContents(Class<E> clazz) throws IllegalAccessException, InstantiationException {
return clazz.newInstance();
}
}
我不知道如何传入我的参数?
我已经尝试了很多东西,我不想用所有这些东西来堵塞这篇文章,但如果你认为有帮助,我会发布。
所以我只是想知道如何像 obj-c 代码中一样传递参数。
感谢您的帮助:)
最佳答案
类似这样的事情
public static class SomeContainer<E>
{
E createContents(Class<E> clazz, Object[] parameters) throws IllegalAccessException, InstantiationException {
Class[] clzes = new Class[parameters.length];
for (int i = 0; i < parameters.length; i++) {
clzes[i] = parameters[i].getClass();
}
Constructor<E> con = clazz.getConstructor(clzes);
return con.newInstance(parameters);
}
}
关于java - 在java中创建返回实例类型并接受2个参数的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710182/