`
469957559
  • 浏览: 39032 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java 字符串,集合,数组,数值的验证是否为空

    博客分类:
  • java
阅读更多
package com.camel.jelly.helper;  
 
import java.text.ParseException;  
import java.util.Collection;  
import java.util.Map;  
 
/** 
 * 常用的验证方法帮助类,提供对字符串,集合,数组,数值的验证 
 *  
 * @au
package com.camel.jelly.helper;  
 
import java.text.ParseException;  
import java.util.Collection;  
import java.util.Map;  
 
/** 
 * 常用的验证方法帮助类,提供对字符串,集合,数组,数值的验证 
 *  
 * @author Jelly <br/>2009-11-29 
 */ 
public class ValidateHelper {  
    /** 
     * 判断一个字符串是否不是一个空字符串 
     *  
     * @param s 要判断的字符串 
     * @return 如果不为空返回true,否则返回false 
     */ 
    public static boolean isNotEmpty(String s) {  
        return ((s != null) && s.length() > 0);  
    }  
 
    /** 
     * 判断一个字符串是否是一个空字符串 
     *  
     * @param s 要判断的字符串 
     * @return 如果为空返回true,否则返回false 
     */ 
    public static boolean isEmpty(String s) {  
        return ((s == null) || (s.length() == 0));  
    }  
 
    /** 
     * 判断一个Collection类型的集合是否不是一个空集合 
     *  
     * @param c 要判断集合 
     * @return 如果不为空返回true,否则返回false 
     */ 
    public static boolean isNotEmpty(Collection c) {  
        return ((c != null) && (c.size() > 0));  
    }  
 
    /** 
     * 判断一个Collection类型的集合是否是一个空集合 
     *  
     * @param c 要判断集合 
     * @return 如果为空返回true,否则返回false 
     */ 
    public static boolean isEmpty(Collection c) {  
        return ((c == null) || (c.size() == 0));  
    }  
 
    /** 
     * 判断一个Map类型的集合是否不是一个空集合 
     *  
     * @param c 要判断的集合 
     * @return 如果不为空返回true,否则返回false 
     */ 
    public static boolean isNotEmpty(Map m) {  
        return ((m != null) && (m.size() > 0));  
    }  
 
    /** 
     * 判断一个Map类型的集合是否是一个空集合 
     *  
     * @param c 要判断的集合 
     * @return 如果为空返回true,否则返回false 
     */ 
    public static boolean isEmpty(Map m) {  
        return ((m == null) || (m.size() == 0));  
    }  
 
    /** 
     * 判断一个int类型的数组是否不是一个空数组 
     *  
     * @param c 要判断的数组 
     * @return 如果不为空返回true,否则返回false 
     */ 
    public static boolean isNotEmpty(int[] i) {  
        return ((i != null) && (i.length > 0));  
    }  
 
    /** 
     * 判断一个int类型的数组是否是一个空数组 
     *  
     * @param c 要判断的数组 
     * @return 如果为空返回true,否则返回false 
     */ 
    public static boolean isEmpty(int[] i) {  
        return ((i == null) || (i.length == 0));  
    }  
 
    /** 
     * 判断一个String类型的数组是否不是一个空数组 
     *  
     * @param c 要判断的数组 
     * @return 如果不为空返回true,否则返回false 
     */ 
    public static boolean isNotEmpty(String[] s) {  
        return ((s != null) && (s.length > 0));  
    }  
 
    /** 
     * 判断一个String类型的数组是否是一个空数组 
     *  
     * @param c 要判断的数组 
     * @return 如果为空返回true,否则返回false 
     */ 
    public static boolean isEmpty(String[] s) {  
        return ((s == null) || (s.length == 0));  
    }  
 
    /** 
     * 验证一个字符串是否是Double类型 
     *  
     * @param s 要验证的字符串 
     * @return 如果是Double类型则返回true,否则返回false 
     */ 
    public static boolean isDouble(String s) {  
        if (s == null || s.equals(""))  
            return false;  
        String num = "0123456789.";  
        if (s.indexOf('.') >= 0)  
            if (s.indexOf('.', s.indexOf('.') + 1) > 0)  
                return false;  
        for (int i = 0; i < s.length(); i++) {  
            if (num.indexOf(s.charAt(i)) < 0) {  
                return false;  
            } else {  
                try {  
                    Double.parseDouble(s);  
                } catch (NumberFormatException e) {  
                    return false;  
                }  
            }  
        }  
        return true;  
    }  
 
    /** 
     * 验证一个字符串是否是Float类型 
     *  
     * @param s 要验证的字符串 
     * @return 如果是Float类型则返回true,否则返回false 
     */ 
    public static boolean isFloat(String s) {  
        if (s == null || s.equals(""))  
            return false;  
        String num = "0123456789.";  
        if (s.indexOf('.') >= 0)  
            if (s.indexOf('.', s.indexOf('.') + 1) > 0)  
                return false;  
        for (int i = 0; i < s.length(); i++) {  
            if (num.indexOf(s.charAt(i)) < 0) {  
                return false;  
            } else {  
                try {  
                    Float.parseFloat(s);  
                } catch (NumberFormatException e) {  
                    return false;  
                }  
            }  
        }  
        return true;  
    }  
 
    /** 
     * 验证一个字符串是否是整形 
     *  
     * @param s 要验证的字符串 
     * @return 如果是整形则返回true,否则返回false 
     */ 
    public static boolean isInteger(String s) {  
        if (s == null || s.length() == 0) {  
            return false;  
        } else {  
            String str = "0123456789";  
            String num = "-0123456789";  
            if (num.indexOf(s.charAt(0)) < 0)  
                return false;  
            for (int i = 1; i < s.length(); i++) {  
                if (str.indexOf(s.charAt(i)) < 0) {  
                    return false;  
                } else {  
                    try {  
                        Integer.parseInt(s);  
                    } catch (NumberFormatException e) {  
                        return false;  
                    }  
                }  
            }  
        }  
        return true;  
    }  
 
    /** 
     * 验证一个字符串是否是一个.和一组数字组成 
     *  
     * @param s 要传入的数字字符串 
     * @return 如果是一个长类型数字返回true,否则返回false 
     */ 
    public static boolean isLongNumber(String s) {  
        if (s == null || s.equals(""))  
            return false;  
        String num = "0123456789.";  
        if (s.indexOf('.') >= 0)  
            if (s.indexOf('.', s.indexOf('.') + 1) > 0)  
                return false;  
        for (int i = 0; i < s.length(); i++) {  
            if (num.indexOf(s.charAt(i)) < 0)  
                return false;  
        }  
        return true;  
    }  
 
    /** 
     * 验证一个字符串是否是数字组成 
     *  
     * @param s 要验证的字符串 
     * @return 如果字符串是数字组成的则返回true,否则返回false 
     */ 
    public static boolean isNumber(String s) {  
        if (s == null || s.equals(""))  
            return false;  
        String num = "0123456789";  
        for (int i = 0; i < s.length(); i++) {  
            if (num.indexOf(s.charAt(i)) < 0)  
                return false;  
        }  
        return true;  
    }  
 
    /** 
     * 验证一个字符串是否一个合法日期,日期格式:yyyy-MM-dd 
     *  
     * @param date 要验证的字符串日期 
     * @return 如果字符串是一个合法的日期返回true,否则返回false 
     */ 
    public static boolean isDate(String date) {  
        java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");  
        try {  
            df.setLenient(false);  
            df.parse(date);  
            return true;  
        } catch (ParseException e) {  
            return false;  
        }  
    }  
 
    /** 
     * 验证一个字符串是否一个合法日期时间,日期时间格式:yyyy-MM-dd HH:mm:ss 
     *  
     * @param date 要验证的字符串日期时间 
     * @return 如果字符串是一个合法的日期时间返回true,否则返回false 
     */ 
    public static boolean isTimestamp(String time) {  
        java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        try {  
            df.setLenient(false);  
            df.parse(time);  
            return true;  
        } catch (ParseException e) {  
            return false;  
        }  
    }  
 
    /** 
     * 根据字节数组指定的开始和结尾长度来计算字符串值 
     *  
     * @param bytes 字节数组 
     * @param begin 开始索引 
     * @param end 结束索引 
     * @return 转换后的字符串结果 
     */ 
    public static String getString(byte[] bytes, int begin, int end) throws RuntimeException {  
        byte[] newBytes = new byte[end - begin];  
        for (int i = begin, j = 0; i < end; i++, j++) {  
            byte c = bytes[i];  
            newBytes[j] = c;  
        }  
        return (new String(newBytes));  
    }  
 
    /** 
     * 根据字节数组指定的开始和结尾长度来计算字符串的字节长度 
     *  
     * @param bytes 字节数组 
     * @param begin 开始索引 
     * @param end 结束索引 
     * @return 转换后的字符串长度 
     */ 
    public static int getLength(byte[] bytes, int begin, int end) {  
        byte[] newBytes = new byte[end - begin];  
        try {  
            for (int i = begin, j = 0; i < end; i++, j++) {  
                byte b = bytes[i];  
                newBytes[j] = b;  
            }  
        } catch (RuntimeException ex) {  
            ex.printStackTrace();  
        }  
        return (newBytes.length);  
    }  
 
} 

 

分享到:
评论
1 楼 spiniper 2013-11-20  
重复发明轮子,apache的commons包,已经有完整的实现方案,不用自己去实现了,当然作为个人联系,可以写写。

相关推荐

    java面试题大全--java基础,struts,spring,ejb等

    8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet...

    java范例开发大全源代码

     实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 ...

    Java范例开发大全 (源程序)

     实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 小九九乘法表 28  实例17 如何列出素数 29  实例18 Java中的递归 31  实例19 男生女生各多少人 32  实例20 求...

    java范例开发大全

    实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列出素数 29 实例18 Java中的递归 31 实例19 男生女生各多少人 32 实例20 求水仙花数 34 实例21 求任意...

    JAVA 范例大全 光盘 资源

    实例38 Java字符串与文件的互转 88 实例39 截取带汉字的字符串 91 实例40 替换字符串中的部分字符 92 实例41 Java字符串之密码加密 93 实例42 正则表达式验证字符串 95 第7章 Java常用类 98 实例43 数字的舍入...

    JAVA面试题最全集

    编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet...

    java范例开发大全(pdf&源码)

    实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列出素数 29 实例18 Java中的递归 31 实例19 男生女生各多少人 32 实例20 求水仙花数 34 实例21 求任意...

    Java范例开发大全(全书源程序)

    实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列出素数 29 实例18 Java中的递归 31 实例19 男生女生各多少人 32 实例20 求水仙花数 34 实例21...

    Java面试宝典-经典

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    Java面试宝典2010版

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    java面试题大全(2012版)

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    最新Java面试宝典pdf版

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    Java面试笔试资料大全

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    java面试宝典2012

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    JAVA面试宝典2010

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

    Java面试宝典2012版

    3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...

Global site tag (gtag.js) - Google Analytics