`
469957559
  • 浏览: 39899 次
  • 性别: 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练习程序集合类

    为了进行数值比较和排序,我们需要将这些字符串转换为整型(int)。可以使用Integer类的parseInt()静态方法来实现。 ```java int[] numbers = new int[numbersStr.length]; for (int i = 0; i ; i++) { numbers[i] =...

    java后台注解校验工具类

    `@Size`注解则用于限制字符串、数组、集合和映射的大小。可以指定最小值和最大值,例如`@Size(min=5, max=10)`表示字符串长度必须在5到10个字符之间。 `@Min`和`@Max`注解用于整数类型的字段,它们分别定义了数值的...

    java常见错误集合以及描述

    **描述**:当试图将字符串转换为数值类型,但该字符串不能被解析为指定类型的数值时会抛出此异常。 **示例代码**: ```java String str = "abc"; int num = Integer.parseInt(str); ``` **解决方案**: 1. **...

    springmvc注解验证

    - `@NotEmpty`: 检查字符串、集合或数组是否为空。 - `@NotBlank`: 检查字符串是否为空或者只包含空格。 - `@Size`: 检查字符串、集合或数组的长度是否在指定范围内。 - `@Min`和`@Max`: 检查数值类型字段的值...

    JSR303定义的校验类型

    此注解用于验证集合类型、数组或字符串是否为空。如果被标注的对象不为空(即元素数量不为0或字符串长度不为0),则验证通过。此外,对于布尔类型的值,`@NotEmpty`会将其视为真值。 ##### @AssertTrue 和 @...

    Java 备忘单(学习资料)

    同时,`String.valueOf()` 可以将数值转换为字符串,而 `Integer.parseInt()` 和 `Double.parseDouble()` 可将字符串转换回数值。 8. **条件语句**:Java 使用 `if`、`else if` 和 `else` 来执行条件判断。例如,...

    JAVA基础测试中常见的异常问题汇总-Java-CSDN

    在遍历集合或使用Iterator时,应先检查集合是否为空。 10. **字符串转换异常**:在将非数字字符串转换为数值类型(如Integer.parseInt()或Double.parseDouble())时,如果字符串不符合数字格式,会抛出...

    Java SE编程入门教程 java包装器(共9页).pptx

    同时,了解Character类的方法,可以帮助我们更有效地处理字符串中的字符,进行字符验证等操作。 此外,这个课程系列还涵盖了Java的其他核心概念,如垃圾回收(GC)、`instanceof`关键字、I/O流、Math类、Object类、...

    validator验证原代码

    - `@Size`:验证字符串、数组、集合或Map的大小,可以指定最小值和最大值。 - `@Pattern`:验证字符串是否符合正则表达式模式。 - `@Min`和`@Max`:验证数值类型的最小值和最大值。 - `@Email`:验证字符串是否...

    JAVA面试题最全集.pdf

    5. 数组和集合、文件和目录(I/O)操作:如何列出某个目录下的所有文件和子目录,如何判断一个文件或目录是否存在,如何读写文件。 JSP&Servlet技术: 1. JSP和Servlet的区别、共同点、各自应用的范围。 2. 在Web...

    [SpringBoot系列]验证客户端参数接口

    - `@Size`: 检查字符串、数组或集合的长度,或数字的大小。 - `@Pattern`: 验证字符串是否符合特定正则表达式。 - `@Min`和`@Max`: 验证数值类型字段是否在指定范围内。 - `@Email`: 验证字段是否为有效的电子...

    java 面试题

    例如,反转字符串可以通过将字符串转换为字符数组,然后使用双指针法进行交换来完成。替换操作则可以通过`String`类的`replace()`或`replaceAll()`方法来实现,这些方法允许基于正则表达式进行精确替换。 #### 3. ...

    Java语法基础+一些 JAVA案例,和正则表达式

    本篇文章将深入探讨Java语法基础,包括词法规则、数据类型、常量与变量、运算符和表达式、语句以及数组和字符串。 首先,我们来看Java的词法规则。Java程序由源代码(.java文件)组成,通过javac编译器进行词法分析...

    总和为固定常量的7*12的二维随机数组

    编程中,可以直接将十进制数转换为二进制字符串进行显示。 5. **控制台操作**:在控制台上处理这种二维数组,通常涉及到打印数组以及可能的交互操作。例如,可以按行打印数组,使用户能够清晰地看到每个元素。 6. ...

    Java面试题

    以上内容涉及Java基础知识,包括类的访问控制、内部类、集合框架、基本数据类型、方法的重载与重写、断言的使用、字符串和数组的操作等,是Java程序员在面试中经常遇到的问题,对理解Java语言特性与编程实践有着重要...

    java面试题大集合

    #### 十六、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 这种情况下需要注意处理中文字符的截取,因为一个中文字符由多个字节组成。 ```java public static String ...

    hibernate-validator-4.1.0.Final-dist.tar.gz

    - `@NotEmpty`:检查字符串、集合或数组是否为空。 - `@NotBlank`:检查字符串是否为空或只包含空格。 - `@Min`和`@Max`:检查数值是否在指定范围内。 - `@Size`:检查字符串、集合或数组的长度或大小。 - `@Pattern...

    springmvc-val.rar

    2. `@NotEmpty`:检查字符串、集合或数组是否为空。 3. `@NotBlank`:检查字符串是否空白,即去除两端空格后不能为null或空字符串。 4. `@Size(min = x, max = y)`:检查字符串、集合或数组的长度是否在指定范围内。...

Global site tag (gtag.js) - Google Analytics