type erasure page का कहना है किइस प्रकार पैरामीटर बाइटकोड में संरक्षित क्यों है?
उनकी सीमा या वस्तु के साथ सामान्य प्रकार के सभी प्रकार के पैरामीटर बदलें यदि प्रकार पैरामीटर असीम हैं। उत्पादित बाइटकोड, इसलिए, केवल सामान्य वर्ग, इंटरफेस, और विधियों में शामिल हैं।
हालांकि, निम्नलिखित वर्ग के लिए:
public class Foo<E extends CharSequence> {
public E something;
}
javap -c Foo
प्रिंट:
public class Foo<E extends java.lang.CharSequence> {
public E something;
}
क्यों प्रकार पैरामीटर बाध्य (CharSequence) से बदल नहीं है, लेकिन ई के रूप में संरक्षित किया जाता है?