Java教程

Java学习笔记09

本文主要是介绍Java学习笔记09,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

StringBuffer类

StringBuffer目的是来解决字符串相加时带来的性能问题(常量与变量)

StringBuffer的内部实现采用字符数组,默认数组长度为16,超过数组大小时,动态扩充的算法为 原长*2+2;

String s1 = "a";
String s2 = "b";
StringBuffer sb = new StringBuffer();
sb.append(s1).sppend(s2).append(1);
System.out.println(sb.toString());

StringBuilder类

此类设计用作简易替换为StringBuffer在正在使用由单个线程字符串缓冲区的地方(如通常是这种情况)。 在可能的情况下,建议使用这个类别优先于StringBuffer ,因为它在大多数实现中将更快。

StringBuilder主要的方法包括append,insert方法

StringBuilder不能安全的使用多线程,如果需要同步,建议使用StringBuffer。

程序国际化

Locale类

//构造方法
Locale(String language)
Locale(String language,String country)
//通过静态方法创建locale
getDefault()

ResourceBundle类

国际化的实现核心在于显示的语言上,通常的做法是将其定义成若干个属性文件(文件的后缀是.properties),属性文件中的格式采用 “key=value” 的格式进行操作

getBundle(String baseName)
getBundle(String baseName,Locale locale)
getString(String key)

处理动态文本

如果想要打印这样的信息 "欢迎你,XXX!" 具体的名字不是固定的,那么就要使用动态文本进行程序的处理。

进行动态的文本处理,必须使用java.text.MessageFormat类完成

实例

public class Demo01 {
    public static void main(String[] args) {
        //创建一个本地语言环境对象,该对象会根据参数设置来自动选择语言环境
        Locale locale_CN = new Locale("zh","CN");
        Locale locale_US = new Locale("en","US");
        //获取当前系统默认的语言环境
        Locale locale_default = Locale.getDefault();

        Scanner input = new Scanner(System.in);
        
        //用于绑定属性文件的工具类(参数:属性文件的基本名)
        ResourceBundle r = ResourceBundle.getBundle("com.Akira.I18N.info",locale_US);

        System.out.println(r.getString("system.name"));
        System.out.println(r.getString("input.username"));
        String username = input.nextLine();

        System.out.println(r.getString("input.password"));
        String password = input.nextLine();

        if("admin".equals(username) && "123".equals(password)){
            System.out.println(r.getString("login.success"));
            String welcome = r.getString("welcome");

            //动态文本格式化
            welcome = MessageFormat.format(welcome,username);
            System.out.println(welcome);
        }else{
            System.out.println(r.getString("login.error"));
        }

    }
}
//info_en_US.properties

system.name =EMP Manager System
input.username =Input UserName
input.password =Input PassWord
login.success =Login Success!
login.error = Login Error
welcome = welcome,{0}
这篇关于Java学习笔记09的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!