个人总结的《Java经典实例》中没注意到的地方,每一个点以问题或要求为标题,后跟书中相关联的对应章节
使用System.getenv()可获得全部环境变量,使用System.getenv("PATH")传入各种值可获得对应变量
这个方法在JDK1.1之后被废弃,在JDK1.5之后重新启用
使用System.getProperties()或者System.getProperty("")获得系统属性
可以使用System.getProperties().list(System.out)将结果输出出来
使用StringTokenizer类,实现了迭代器和枚举接口 StringTokenizer对象有方法hasMoreToken()和nextToken() 构建StringTokenizer需要待待分割的字符串和指定的分割符,指定的分隔符可以是多个,例如:
StringTokenizer st=new StringTokenizer("The String wait for headle",",|");//分隔符是‘,’和‘|’整体流程简记:
Pattern pattern=Pattern.compile("regexString",CASE_INSENSITIVE|MUTILINE);//第二个参数可以指定选项 Matcher matcher=pattern.matcher(InputString); if(matcher.find()){ System.out.println(matcher.group(0)); System.out.println(matcher.start()); //some methods matcher.replaceAll(newString); matcher.appendReplacement(StringBulider sb,newString); matcher.appendTail(StringBuilder sb); }计算机无法精确表示0.1及它的任意次方,所以浮点数比较和整数不一样,基本类型无法正确比较,要依靠Float和Double,使用其中的equal()方法
使用text包下的NumberFormat对象 调用NumberFormat的getInstance方法会的到一个DecimalFormat实例,对实例调用 setMinimumIntegerDigits(int) setMaximumIntegerDigits(int) 方法可以设置显示的数字的 整数 部分的最大宽度和最小宽度,调用 setMinimumFractionDigits(int) setMaximumFractionDigits(int) 方法可以设置显示的数字的 小数 部分的最大宽度和最小宽度 该类默认是按照系统的Locale设置的显示钱币和数字的方式,当然可以通过getInstance传入一个Locale自定义 此外,还可以直接new 一个DecimalFormat,设置各个属性,尤其,可以在构造函数中传入一个字符串,控制显示格式 类似于new DecimalFormat("###.00000##"); 此外,NumberFormat类还有静态方法getCurrencyInstance、getIntegerInstance、getPercentInstance分别得到货币、数字、百分数的DecamalFormat。
附一张网上找到的参数表格:
符号位置本地化?含义0数字是阿拉伯数字#数字字是阿拉伯数字,如果不存在则显示为空.数字是 小数分隔符或货币小数分隔符-数字是减号,数字是分组分隔符E数字是分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。;子模式边界是分隔正数和负数子模式%前缀或后缀是乘以 100 并显示为百分数/u2030前缀或后缀是乘以 1000 并显示为千分数¤(/u00A4)前缀或后缀否货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。‘前缀或后缀否用于在前缀或或后缀中为特殊字符加引号,例如 “’#’#” 将 123 格式化为 “#123”。要创建单引号本身,请连续使用两个单引号:”# o”clock”。使用BitSet,使用Bit,节省空间
使用BigInteger和BigDecimal类,通过构造函数传入大数的字符串,构造不可变的大数对象
