`
zhaoningbo
  • 浏览: 620465 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
引言:

  今天同事发现我封装的SQL分离,有个很2B的异常——“NullPointerException”。丢人丢大发了,留个爪印,以后用新方法得先留神说明书了~。=

正文:

  直接上测试代码:
public class XMLTypeDemo {

    public static void main(String[] args) {

        String str = "我们的灵魂都应该是自由的,哪怕有圣洁与污秽之分。";
        
        // true
        System.out.println(str.contains("自由"));
        // java.lang.NullPointerException
        System.out.println(str.contains(null));
    }
}

  根本原因在String.contains的实现是这么回事:
/**
     * Returns true if and only if this string contains the specified
     * sequence of char values.
     *
     * @param s the sequence to search for
     * @return true if this string contains <code>s</code>, false otherwise
     * @throws NullPointerException if <code>s</code> is <code>null</code>
     * @since 1.5
     */
    public boolean contains(CharSequence s) {
        return indexOf(s.toString()) > -1;
    }

  注释上已经说明用法了。就不再浪费大伙带宽了~~。+


4
1
分享到:
评论
4 楼 yuhui0531 2012-03-08  
zhaoningbo 写道
yuhui0531 写道
果然2,非常2,相当2,十分2,真是2B

哈哈~~~ 恩恩,引以为戒

哈哈,和你开玩笑呢。。
其实我也不晓得。
3 楼 Mybeautiful 2012-03-07  
如果你不了解这个新方法,又不想花时间深入了解。就默认它没有做null处理..
2 楼 zhaoningbo 2012-03-06  
yuhui0531 写道
果然2,非常2,相当2,十分2,真是2B

哈哈~~~ 恩恩,引以为戒
1 楼 yuhui0531 2012-03-06  
果然2,非常2,相当2,十分2,真是2B

相关推荐

    string.h库文件

    *string.h - declarations for string manipulation functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function declarations for the string * ...

    asp.net String.Empty NULL 不同之处

    本文就它们彼此的不同之处做一粗略说明。... string.Empty不分配存储空间 “”分配一个长度为空的存储空间 所以一般用string.Empty 为了以后跨平台,还是用string.empty 在 C# 中,大多数情况下

    String.prototype.contains:检查传递数组中的至少一个字符串是否包含在字符串中

    String.prototype.contains提案问题假设我想检查一个字符串是否包含多个字符串中的至少一个其他字符串: 在 ES5 var str = 'Hello this is a string' ;// Using regex:/ Hello | is / . test ( str ) ; // true// ...

    String.prototype.containsAll:检查传递数组中的所有字符串是否都包含在字符串中

    String.prototype.containsAll提案 问题 假设我想检查一个字符串是否包含一堆字符串: 在 ES5 var str = 'Hello this is a string' ; // Using good old indexOf str . indexOf ( 'Hello' ) &gt; - 1 && str . index...

    C语言库函数源码(string.h)

    本资源"**C语言库函数源码(string.h)**"是一个宝贵的参考资料,包含了C标准库中`string.h`头文件下的多个库函数的源代码。了解这些源代码能帮助我们深入理解C语言的工作原理,优化自己的程序,并学习如何编写更...

    C#中string.Empty和null的区别详解

    网上有一篇被转载了几十遍的文章是这样说的string.Empty 不分配存储空间,”” 分配一个长度为空的存储空间,我认为这句话是错误并且含糊不清的。  1、实际上Empty是string类中的一个静态的只读字段,他的定义是这样...

    C#判断字符串中是否包含指定字符串及contains与indexof方法效率问题

    C#中判断字符串中是否包含指定字符串是非常常见的操作,常用的方法有两种:使用string.Contains方法和使用string.IndexOf方法。下面详细介绍这两种方法的使用和效率问题。 使用string.Contains方法 string....

    mysql 中的 sqlstring.h

    不知为何,mysql的开发包中竟然没有 sqlstring.h 这个文件,当你编译时它就提示你找不到这个文件

    自定义____js中contains方法

    if (string.substring(j, j + strLen) === substr) { // 比较子串,如果相等,返回true return true; } } } return false; ``` #### 应用场景 自定义`contains`方法可以应用于多种场景,如: 1. **表单验证**...

    asp.net String.IsNullOrEmpty 方法

    `String.IsNullOrEmpty` 是.NET Framework 2.0引入的一个静态方法,用于检查给定的字符串是否为`null`或者是否为空字符串。此方法适用于多种.NET语言,包括VB.NET、C#、C++ 和 J#等。 ##### 方法签名: - **C#** `...

    asp.net中DBNull.Value,null,String.Empty区别浅析

    在ASP.NET开发中,了解`DBNull.Value`, `null`, 和 `String.Empty`的区别至关重要,因为它们在处理数据和字符串操作时有不同的含义和用途。以下是对这三个概念的详细解析: 1. **DBNull.Value**: DBNull.Value是...

    C 标准库 – string.h

    下面是头文件 string.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 库宏 下面是头文件 string.h 中定义的宏: 序号 宏 & 描述 1 NULL 这个宏是一...

    Java中String判断值为null或空及地址是否相等的问题

    本文主要讨论了如何正确判断Java中的String对象是否为null、空值("")以及它们的地址是否相等。在处理字符串时,了解这些概念对于避免程序出错至关重要。 首先,我们需要区分`null`和空字符串`""`。`null`表示变量...

    DataTable 导出excel 更新列名或者删除部分列.pdf

    DataView dataList = saBatteryHelper.GetSaBatteryList(condition, "PAGE", Int32.Parse(string.IsNullOrEmpty(Imagebutton2.ToolTip) ? "0" : Imagebutton2.ToolTip), this.dg_detail.PageSize, ref total_page, ...

    Sugar:管道过滤器模式的简单实现

    // A list of string...stringList = Pipe . in(stringList) . then(data - &gt; data . stream() . filter(string - &gt; string . contains( " a " ) && string . contains( " b " ) && string . contains( " c " )) . ...

    String和string区别以及string详解.doc

    但在性能敏感的场景下,可以直接调用`String`类的方法,如`String.IsNullOrEmpty()`,这样可以避免额外的类型转换,提升程序执行效率。 - 字符串相等性测试时,使用`string`比直接比较两个`String`对象更直观,因为...

Global site tag (gtag.js) - Google Analytics