慎用Java装箱与拆箱
转自http://xyiyy.javaeye.com/blog/358401
J2SE5.0后提供了自动装箱与拆箱的功能,此功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的方法,决定是否进行装箱或拆箱动作。例如:
Integer i = 100;
相当于编译器为您作以下的语法编译:
Integer i = new Integer(100);
虽然此功能很方便,但在程序运行阶段您得了解Java的语义。如下面的程序能编译通过:
Integer i = null;
int j = i;
此程序编译时通过,但运行时会有错误。因为这种写法相当于:
Integer i = null;
int j = i.intValue();
由于i实际上没有参考至任何的对象,所以不能操作intValue()方法,上面程序运行时会出现NullPointerException错误。
自动装箱、拆箱的功能提供了方便性,但隐藏了一细节,所以必须小心。如下列代码1:
public class AutoBoxDemo2
{
public static void main(String[] args)
{
相关文档:
网上转贴的Java正则很让人失望,一篇JavaScript正则集录被很多不负责任的人转来转去,并打上Java正则的标题,汗,真是烂人一堆。
// url正则
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpressionTest {
public static void main(String[] args) {
Pa ......
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadSetting {
......
java 保留2位小数 转载
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP). ......
Comparator和Comparable在排序中的应用
当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。
一、Comparator
强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。
接口方法:
......
Java程序调用存储过程验证用户登录
package com.yzy.jdbc.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import oracle.jdbc.OracleTypes;
public class LoginDao {
public boolean loginValidate(String username, Stri ......