java面试第十六天
国际化:让世界上每个人都能看懂。
Locale类(java.util包下):包括所有国家、地区、语言
存在很多的静态属性,来表示国家、语言
三种构造方法:
Locale(String language)
根据语言代码构造一个语言环境。
Locale(String language, String country)
根据语言和国家构造一个语言环境。
Locale(String language, String country, String variant)
根据语言、国家和变量构造一个语言环境。
常用方法:
Locale getDefault()
获得此 Java 虚拟机实例的当前默认语言环境值。
String getDisplayCountry()
返回适合向用户显示的语言环境国家名。
void setDefault(Locale newLocale)
为此 Java 虚拟机实例设置默认语言环境。
String getLanguage()
返回此语言环境的语言代码。
String getCountry()
返回此语言环境的国家/地区代码。
注意:
国家会兼容语言,但语言不会兼容国家。
java.text.*:该包下存在许多格式化类
NumberFormat抽象类:
常用方法:
NumberFormat getInstance()
返回当前默认语言环境的通用数字格式。
NumberFormat getInstance(Locale inLocale)
返回指定语言环境的通用数字格式。
String format(double number)
根据国家,进行格式规范。
NumberFormat getCurrencyInstance(Locale inLocale)
返回指定语言环境的货币格式。
SimpleDateFormat类:
模式字母:
y 年
M 年中的月份
H 一天中的小时数(0-23)
h am/pm 中的小时数(1-12)
m 小时中的分钟数
s 分钟中的秒数
构造器:
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
常用方法:
String format(Date date)
将一个 Date 格式化为日期/时间字符串。
注意:
看到相应的模式字母,就会进行转换。
实现国际化:
1、先写各个语言对应的文字类,使其extends ListResourceBundle,然后重写getContents(),返回一个二维数组。
2、在程序中按照Local和ListResourceBundle的baseName来选择对应的资源,调用getString()/getObject()取得value
ResourceBundle类:
ResourceBundle getBundle(String baseName, Locale locale)
baseName为对应的ListResourceBundle的类名(包名.类名)
使用指定的基本名称和语言环境,以及调用方的类加载器获取资源包。
注意:根据key去查找value时,当前没有会去查找默认的,默认的也没有则会抛出异常
5.0新特性:
1、自动装箱,自动解箱(简单类型->对象类型)
小于127的数值在自动装箱时只做一次装箱,做" == "时相等。
null无法自动解箱。
先装箱后赋值和先解箱后赋值时,需要注意是否能够匹配。
2、静态import
用于导入类中的静态属性和静态方法。
格式:import static 包名.类名.属性/方法/*
注意:
必须是静态的成员。
静态导入时,不允许导入同名方法/属性。
使用时,可省略" 类名. "就像使用本类方法一样
3、增强for循环:for( : )
方式统一,可以处理数组和集合。
不可以同时对两个以上的集合进行操作。
不支持删除元素。
4、可变长的参数:(...)
用于取代数组,实际上还是按数组进行处理,允许传递非数组的值(0到n个,中间用逗号分隔)。
可变长参数只能出现一次,且一定会放在参数列表的最后。
作参数时,可变长参数可以不传,但数组不可以。
5、格式化输入输出:Scanner类
了解下就可以,知道有这个类就OK。
6、枚举Enum:本质上也是一个类,具有类所有特性
格式:
enum 枚举名{
枚举值1,
枚举值2,
.....
}
特性:
显示一些同类型的清单。
一个枚举值就是一个枚举对象。
可以有构造器,但不能是public的。
具有一个私有的默认无参的构造器,显式构造后,默认的构造器会消失。
属性,方法和类一样。
枚举是final的(对于外部无法继承),但在内部可以去实现。
注意:
清单里的类,会调用匹配的构造器,如无,则会报错。
在枚举中可以有抽象方法,但在清单中的所有子类都必须实现他。
如果要写属性和方法,则最后的一个枚举值要以分号结束。
枚举中的values()方法会返回枚举中的所有枚举值: Color[] ss = Color.values();
7、泛型
8、元数据(注释),项目中推广度一般
java面试第十六天的更多相关文章
- Java面试准备十六:数据库——MySQL性能优化
2017年04月20日 13:09:43 阅读数:6837 这里只是为了记录,由于自身水平实在不怎么样,难免错误百出,有错的地方还望大家多多指出,谢谢. 来自MySQL性能优化的最佳20+经验 为查询 ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- java面试第十天
JFC:java基础类库(具体的类可以查看API文档) 观察者模式: 事件监听者对事件源进行监听,事件源会发生某些事件,监听者需要对事件作出相应的处理. 事件监听者(Observer): 处理事件 事 ...
- java面试第十五天
网络编程: 多线程+网络: 1.服务器端的等待客户连接代码( while(true) ),服务器端与单个客户端交互的代码放入线程体( run ) 2.客户端如有其他要求,与服务器交互的代码也要放入线程 ...
- java面试第十四天
包名.类名和属性可以被序列化,方法和构造器不会被序列化的. 静态属性不会被序列化的. 属性会被递归序列化的,也就是一个类中有引用类型的属性,如果这个属性对应的类实现了Serializable接口,在对 ...
- Java学习第十六天
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
- 学习java的第二十六天
一.今日收获 1.java完全学习手册第三章算法的3.2排序,比较了跟c语言排序上的不同 2.观看哔哩哔哩上的教学视频 二.今日问题 1.快速排序法的运行调试多次 2.哔哩哔哩教学视频的一些术语不太理 ...
- 学习java的第十六天
一.今日收获 1.完成了手册第二章没有验证完成的例题 2.预习了第三章的算法以及for语句与if语句的用法 二.今日难题 1.验证上出现问题,没有那么仔细. 2.第二章还有没有完全理解的问题 三.明日 ...
- 学习Java的第十六天——随机数
学习内容:随机数 1.GetEvenNum()方法 实例代码: package 数字处理类; public class MathRondom {public static int GetEvenNum ...
随机推荐
- 解决MySQL建立连接问题,快速回收复用TCP的TIME_WAIT
最近同事遇到一个问题,使用python开发的工具在执行的时候无法和MySQL建立连接,其最直接的现象就是满篇的TIME_WAIT,最后通过调整tcp_timestamps参数问题得以解决,再次记录一下 ...
- 忘记Oracle系统管理员sys的密码
sqlplus / as sysdba; alter user sys identified by newpwd***;
- Shell中EOF内容转义
1.在$符号前面加反斜杠,如: cat > test.sh <<EOF \$test EOF 如果不加,将转成实际的值. 2.给EOF加个双引号,如: cat > test.s ...
- COM/DCOM开发练习之进程内组件实例
作者 : 卿笃军 题目说明: 仿照例题,在其基础上实现下面功能: 1)使用C++语言实现进程内组件,组件提供复数的加.减.乘.除等计算服务:client部分包含录入(实部和虚部分开录入)和查询部分. ...
- C#程序集系列05,让程序集包含多个module
本篇体验在一个程序集中包含多个module. □ 创建3个module →删除F盘as文件夹中的一些文件,只剩下如下3个文件→用记事本打开MyFirstModule.cs文件,修改如下,并保存 usi ...
- MVC通过UIHint和自定义视图显示RadioButtonList
在Product类中有一个显示删除状态的属性DelFlag,在编辑视图页,对于所有的删除状态以RadioButtonList显示出来,如果RadioButtonList选项的value值与当前mode ...
- java反射知识点总结
一.java反射基础 1.1 什么叫java反射? 答:程序运行期间,动态的获取类的基本信息.比如:创建对象,调用类的方法,获得类的基本结构.这样给程序设计提供了很大的灵活性.个人总结就是:根据动态需 ...
- ExtJs动态生成复选框
var old_value = Ext.get("fgzr_select").getValue() if(old_value == ""){ document. ...
- 试用log4jdbc
近日发现一个好东东log4jdbc,他是一个JDBC驱动器,能够记录SQL日志和SQL执行时间等信息.log4jdbc使用SLF4J(Simple Logging Facade For Java)作为 ...
- dtree实现动态加载树形菜单,动态插入树形菜单
1.导入 dtree文件 dtree.css img文件夹 dtree.js 2. 建立对应 的数据库 1 父ID name id 3 建立连接 ...