>我使用 Java 反编译器反编译一个文件
我在代码中找到了这样的行,如下所示
arg = remoteActionArgument.getDataType().getJavaDataType().getConstructor(new Class[] {
java/lang/String
}).newInstance(new Object[] {
strArg
});
在这里,我看到像这样的java/lang/String
我无法理解,这个结构到底是什么。
有什么建议吗?
我尝试了以下事情
1. 导入 java.lang。;***
2.在此行内更改以了解调用的位置,但除了这样的代码,另一个类文件之外,我什么也找不到
package org.itolab.morihit.clinkx;
import java.util.*;
public abstract class UPnPDataType extends Enum
{
public static final UPnPDataType UI1;
public static final UPnPDataType UI2;
public static final UPnPDataType UI4;
public static final UPnPDataType I1;
public static final UPnPDataType I2;
public static final UPnPDataType I4;
public static final UPnPDataType INT;
public static final UPnPDataType R4;
public static final UPnPDataType R8;
public static final UPnPDataType NUMBER;
public static final UPnPDataType FIXED_14_4;
public static final UPnPDataType FLOAT;
public static final UPnPDataType CHAR;
public static final UPnPDataType STRING;
public static final UPnPDataType DATE;
public static final UPnPDataType DATETIME;
public static final UPnPDataType DATETIME_TZ;
public static final UPnPDataType TIME;
public static final UPnPDataType TIME_TZ;
public static final UPnPDataType BOOLEAN;
public static final UPnPDataType BIN_BASE64;
public static final UPnPDataType BIN_HEX;
public static final UPnPDataType URI;
public static final UPnPDataType UUID;
private static final Map map;
private final String name;
private static final UPnPDataType $VALUES[];
public static UPnPDataType[] values()
{
return (UPnPDataType[])$VALUES.clone();
}
public static UPnPDataType valueOf(String name)
{
return (UPnPDataType)Enum.valueOf(org/itolab/morihit/clinkx/UPnPDataType, name);
}
static UPnPDataType get(String name)
{
return (UPnPDataType)map.get(name);
}
private UPnPDataType(String s, int i, String name)
{
super(s, i);
this.name = name;
}
public String toString()
{
return name;
}
public Class getJavaDataType()
{
throw new UnsupportedOperationException();
}
abstract Object upnpStringToJavaObject(String s);
abstract String javaObjectToUpnpString(Object obj);
static Object booleanUpnpStringToJavaObject(String value)
{
if(value == null || value.equals("0"))
{
return Boolean.FALSE;
} else
{
return Boolean.TRUE;
}
}
static String booleanJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Boolean != value.getClass() || value.equals(Boolean.FALSE))
{
return "0";
} else
{
return "1";
}
}
static Object integerUpnpStringToJavaObject(String value)
{
return new Integer(value);
NumberFormatException e;
e;
return Integer.valueOf(0);
}
static String integerJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Integer != value.getClass())
{
return "0";
} else
{
return value.toString();
}
}
static Object longUpnpStringToJavaObject(String value)
{
return new Long(value);
NumberFormatException e;
e;
return Long.valueOf(0L);
}
static String longJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Long != value.getClass())
{
return "0";
} else
{
return value.toString();
}
}
static Object floatUpnpStringToJavaObject(String value)
{
return new Float(value);
NumberFormatException e;
e;
return new Float(0.0F);
}
static String floatJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Float != value.getClass())
{
return "0.0";
} else
{
return value.toString();
}
}
static Object doubleUpnpStringToJavaObject(String value)
{
return new Double(value);
NumberFormatException e;
e;
return new Double(0.0D);
}
static String doubleJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Double != value.getClass())
{
return "0.0";
} else
{
return value.toString();
}
}
static Object characterUpnpStringToJavaObject(String value)
{
if(value == null || value.length() != 1)
{
return Character.valueOf(' ');
} else
{
return Character.valueOf(value.charAt(0));
}
}
static String characterJavaObjectToUpnpString(Object value)
{
if(value == null || java/lang/Character != value.getClass())
{
return "