zoukankan      html  css  js  c++  java
  • 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、元数据(注释),项目中推广度一般

  • 相关阅读:
    散户如何战胜专业投资机构
    机器学习总结
    进程线程及堆栈关系的总结
    线程堆栈是如何增长的
    Ubuntu下CodeBlocks控制台程序中文显示乱码解决问题
    jdk 安装
    python文件运行报错:Error: Please select a valid Python interpreter
    python 解释器安装
    allure在pycharm下运行出现以下乱码的提示 解决方案
    pytest 测试环境框架搭建
  • 原文地址:https://www.cnblogs.com/hoobey/p/5187674.html
Copyright © 2011-2022 走看看