ResourceBundle.Control
变量
FORMAT_CLASS (java.class)
FORMAT_DEFAULT(包含java.class和java.properties)
FORMAT_PROPERTIES(java.properties)
TTL_DONT_CACHE
TTL_NO_EXPIRATION_CONTROL
构造器
protected修饰,无法new,也就是说这是一个缓存实例的类。
方法
getCandidadeLocales() 不懂什么意思,也不知道怎么用
getControl()
getFallbackLocale() 不懂什么意思,也不知道怎么用
getFormats() 和FORMAT_CLASS这些有关系,但是不知道baseName有什么用
getNoFallbackControl() 不懂这个Fallback什么意思,也不懂这个方法什么意思,不知道怎么用
getTimeToLive() 不懂什么意思,也不知道怎么用
needsReload() 涉及到反射的知识,不懂什么意思也不知道怎么使用
newBundle()涉及到反射的知识,不懂什么意思也不知道怎么使用
toBundleName()就是通过传入的baseName和Locale生成对应的文件名
toResourceName()就是加上后缀(suffix)
import java.util.*;
import static java.util.ResourceBundle.*;
public class Test
{
public static void main(String[] args) throws Exception,Throwable
{
//ResourceBundle.Control
//变量
System.out.println(Control.FORMAT_CLASS);
System.out.println(Control.FORMAT_DEFAULT);
System.out.println(Control.FORMAT_PROPERTIES);
System.out.println(Control.TTL_DONT_CACHE);
System.out.println(Control.TTL_NO_EXPIRATION_CONTROL);
//构造器
//Control con = new Control();
//方法
Control con = Control.getControl(Control.FORMAT_PROPERTIES);
System.out.println(con.getCandidateLocales("Messages",new Locale("zh","CN")));
System.out.println(con.getFallbackLocale("Messages",new Locale("zh","CN")));
System.out.println(con.getFormats("Message"));
Control con2 = Control.getNoFallbackControl(Control.FORMAT_CLASS);
System.out.println(con2.getFormats("Mess"));
System.out.println(con.getTimeToLive("Mess",new Locale("zh","CN")));
System.out.println(con2.getTimeToLive("Mess",new Locale("zh","CN")));
System.out.println(con.toBundleName("Mess",new Locale("zh","CN")));
System.out.println(con.toResourceName(con.toBundleName("Mess",new Locale("zh","CN")),"abc"));
}
}