JAVA 中将字符串转换成类实例对象
在很多时候我们需要将一个给了完整路径的类对象字符串转换成一个类的实例对象,就比如说有以下这样的一个字符串
String menAction= "gef.putin.step.ui.SystemMenuTest(xiajiaji)"在该类中需要有有一个字符串格式的参数,当然多个参数也可以,我已经将多个参数的考虑进去,对改字符串进行解析就可以转换成类的实例对象了。以下是我做的一个小的Demo,如果能够帮助大家,我当然觉得很开心,希望对大家有帮助。
import java.lang.reflect.Constructor;
public class Test {
public static void main(String [] args){
String menuAction = "gef.putin.step.ui.SystemMenuTest(xiajiaji)";
boolean endsWith = menuAction.endsWith(")");
SystemMenuTest action =null;
if(!endsWith){
try{
action = (SystemMenuTest) Class.forName(menuAction).newInstance();
}catch(Exception ee){
ee.printStackTrace();
}
}else{
String clazzName = menuAction.substring(0, menuAction.indexOf("("));
String parAllStr = menuAction.substring(menuAction.indexOf("(")+1, menuAction.indexOf(")"));
boolean contains = parAllStr.contains(",");
String [] parStr = null;
if(contains){
parStr = parAllStr.split(",");
}else{
parStr = new String[]{parAllStr};
}
try{
Class clazz = Class.forName(clazzName);
Class [] parClass = new Class[parStr.length];
for(int i =0;i<parStr.length;i++){
parClass [i] = String.class;
}
Constructor con=clazz.getConstructor(parClass);
action = (SystemMenuTest) con.newInstance(parStr);
}catch(Exception exe){
exe.printStackTrace();
}
&nbs
相关文档:
在信息时代,网络技术应用已非常普通。其中非常多应用都依赖于从一个主机向多个主机或从多个主机向多个主机发送同一信息的能力,在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力。一种能最大限度地利用现有带宽的重要技术是IP组播。
1.IP组播技术的概念
IP组播技术,是一种允 ......
没有必要用一堆绕口的形容词来描述什么叫多态,只举出几个关键点。
设:gun为父类,shootgun和pistol为gun的子类。
Java:
class gun {
void shoot() {
  ......
很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对正在学习、使用C#的朋友有所帮助。
& Y0 f! I! a4 a1 K
% B# G8 ......
equals 方法是 java.lang.Object 类的方法。
有两种用法说明:
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
比如:
......