Java学习笔记09
2021/9/8 9:06:19
本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南