我有一串
String className = "DummyClass"
现在我想创建一个类的对象,其中的类名是 类名 这是一样的东西
Object className = new className() // I know it's not possible.
我想知道怎么做…
“使用java.lang.reflect
”将回答您的所有问题。首先Class
使用来获取对象Class.forName()
,然后:
如果要实例化使用检索的类,
forName()
则必须首先要求它提供一个java.lang.reflect.Constructor
代表我想要的构造函数的对象,然后要求该Constructor
对象创建一个新对象。该方法getConstructor(Class[] parameterTypes)
在Class
将检索Constructor
;
然后,我可以Constructor
通过调用其方法来使用它newInstance(Object[] parameters)
:Class myClass = Class.forName("MyClass"); Class[] types = {Double.TYPE, this.getClass()}; Constructor constructor = myClass.getConstructor(types); Object[] parameters = {new Double(0), this}; Object instanceOfMyClass = constructor.newInstance(parameters);
有一种newInstance()
方法Class
似乎可以满足您的要求。 不要使用它 。它将静默地将检查的异常转换为未检查的异常。
请注意,此方法传播由nullary构造函数引发的所有异常,包括已检查的异常。这种方法的使用有效地绕过了编译时异常检查,否则该检查将由编译器html" target="_blank">执行。该
Constructor.newInstance
方法通过将构造函数抛出的任何异常包装在(选中)中来避免此问题InvocationTargetException
。
我有两个字符串str1和str2。我试图用字符把一些字母从一个字符串复制到另一个字符串。我知道我可以使用字符串复制,但我想要一些字符,而不是全部字符。 在Java中,如何将子字符串从一个字符串复制到另一个字符串?
使用扫描仪,我想读取char的索引,然后将其从字符串中删除。只有一个问题:如果char在字符串中出现多次,那么。替换()将删除所有这些字符。 例如,我想从字符串“纹理文本”中获取第一个“t”的索引,然后只删除那个“t”。然后我想得到第二个't'的索引,然后删除它。
问题内容: 为了访问Java中String的各个字符,我们有。是否有任何内置函数来删除Java中String的单个字符? 像这样: 问题答案: 你也可以使用可变的类。 它具有方法deleteCharAt(),以及许多其他mutator方法。 只需删除需要删除的字符,然后得到结果,如下所示: 这样可以避免创建不必要的字符串对象。
问题内容: 我如何提取字符串[]或arraylist中的所有元素,并以适当的格式(所有空格之间使用单个空格)组合所有单词并存储在数组中。 输出:Java很酷。 问题答案: 使用。 或使用Apache Commons Lang 。 或使用Java8的。
问题内容: 我想用’=’字符分割字符串。但是我只希望它在一开始就分裂。我怎样才能做到这一点 ?这是’_’char的JavaScript示例,但对我来说不起作用, 仅在指定字符的第一个实例上才拆分字符串 范例: 当我尝试String.split(’=’); 它给 但是我需要 谢谢 问题答案: string.split(“=”, 2); 如解释: 此方法返回的数组包含此字符串的每个子字符串,该子字符串
我想用'='charecter分割一个字符串。但是我希望它只在第一个实例上分割。我该怎么做?这是一个'_'char的JavaScript示例,但是它不适用于我只在指定字符的第一个实例上分割字符串 例子: 当我尝试使用字符串时。拆分(“=”);它给 但我需要 谢谢