在java類java.util.Locale中,我發現關鍵字transient標記了一個方法。瞬態關鍵字可以標記一個方法嗎?
public final class Locale
implements Cloneable, Serializable
{
private static class LocaleNameGetter
implements sun.util.LocaleServiceProviderPool.LocalizedObjectGetter
{
public transient String getObject(LocaleNameProvider localenameprovider, Locale locale, String s, Object aobj[])
{
if(!$assertionsDisabled && aobj.length != 2)
throw new AssertionError();
int i = ((Integer)aobj[0]).intValue();
String s1 = (String)aobj[1];
switch(i)
{
case 0: // '\0'
return localenameprovider.getDisplayLanguage(s1, locale);
case 1: // '\001'
return localenameprovider.getDisplayCountry(s1, locale);
case 2: // '\002'
return localenameprovider.getDisplayVariant(s1, locale);
}
if(!$assertionsDisabled)
throw new AssertionError();
else
return null;
}
有人能告訴我爲什麼會這樣?
@ user85121你可以提供你看到的鏈接嗎? – Eugene 2013-04-26 10:15:28
我檢查了jdk 1.6源代碼,它沒有'transient'關鍵字 – sanbhat 2013-04-26 10:17:27
相關:http://stackoverflow.com/questions/4936803/why-java-methods-with-varargs-identified-as-transient – harsh 2013-04-26 10:19:28