我们知道" Java Type Erasure"机制在编译成.class文件时修改我们的java源代码中的类型。 但是,今天我使用Java Decompiler来反编译一个类文件,它向我展示了我在java文件中输入的完全相同的代码。
我想知道吗? " Java Type Erasure"机制? JD如何知道?java code:
public class C1 extends C<D>{
public C1()
{
}
public void myPrint()
{
System.out.println("Hello C1");
}
public static void main(String[]args)
{
System.out.println("Test");
}
}
JD软件从.class文件解码的代码:
import java.io.PrintStream;
public class C1 extends C<D>
{
public void myPrint()
{
System.out.println("Hello C1");
}
public static void main(String[] args)
{
System.out.println("Test");
}
}
你看,它们是一样的,它让我感到困惑的是&#34; Type erasure&#34;作品?