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

正文:

  直接上测试代码:

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;
    }

 

分享到:
评论

相关推荐

    字符串过滤类(StrUtil)

    - `contains(String str, String searchStr)`: 检查字符串是否包含指定子字符串。 - `startsWith(String str, String prefix)`: 检查字符串是否以指定前缀开头。 - `endsWith(String str, String suffix)`: 检查...

    Net与Java常用代码写法对比.pdf

    - 在查找字符串是否包含某个字符时,Net 使用 `string.Contains(value)`,Java 可以用 `string.contains(value)`。 - 格式化字符串,Net 提供了 `string.Format(format, args)`,Java 则有 `String.format(format, ...

    C#优化字符串操作

    - `Convert.ToInt32`方法在处理无法转换的字符串(如`null`)时,不会抛出异常,而是返回0。这可能导致潜在的逻辑错误,因为0可能是一个有效的整数值。 - `Int32.Parse`方法在遇到无法转换的字符串时,会抛出`...

    MVC基础案例,初学者适用

    string uLoginName = Request["U_LoginName"] == null ? "" : Request["U_LoginName"]; string uName = Request["U_RealName"] == null ? "" : Request["U_RealName"]; string uTel = Request["U_Telephone"] =...

    StringExtension帮助类

    7. **JoinStrings()**:与`string.Join()`类似,但可能提供了更多的参数控制,如自定义分隔符,处理null值等。 8. **FormatWith()**:一个增强版的字符串格式化方法,可能支持占位符替换,类似于`string.Format()`...

    delphi获取Cookie源码.rar

    static extern bool InternetGetCookieEx(string pchUrl, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved); private static string ...

    mootools1.4

    - **String.contains**: 检查一个字符串是否包含另一个字符串。 - **String.trim**: 删除字符串首尾的空白字符。 - **String.clean**: 删除字符串中的多余空白字符。 - **String.camelCase**: 将带有连字符的字符串...

    HTTP请求头概述(HttpServletRequest)

    = null && acceptEncoding.contains("gzip")) { // 如果客户端支持gzip压缩 // 设置响应头以启用gzip压缩 response.setHeader("Content-Encoding", "gzip"); } // 设置Content-Length response.setContentLength...

    一个WEB爬虫的实例——JAVA.pdf

    = null) {if (line.startsWith("#")) continue;Pattern pattern = Pattern.compile("^Disallow:\\s*(.*)$");Matcher matcher = pattern.matcher(line);if (matcher.find()) {disallowList.add(matcher.group(1).trim...

    获取规范学历UDF函数.doc

    String eduStr = education.toString().toLowerCase(); if (eduStr.contains("本科") || eduStr.contains("学士")) { return new Text("本科"); } else if (eduStr.contains("硕士")) { return new Text("硕士...

    Net与Java常用代码写法对比.docx

    - .NET的`string.Contains(value)`和Java的`string.contains(value)`用于检测字符串是否包含特定子串。 - 在字符串替换上,两者都有`Replace`方法,但Java的`replace()`是大小写敏感的,如果需要大小写不敏感的...

    C#读取解析txt文件,可以读取多或全选txt文件,实测管用

    这可以通过`String.Contains()`、`String.StartsWith()`、`String.EndsWith()`等字符串方法实现,或者结合正则表达式`Regex.IsMatch()`进行更复杂的匹配。 假设我们想筛选出包含特定词汇的行,可以这样操作: ```...

    c# 读取txt文件中特定内容后的文字

    在读取的每一行中,我们可以使用`string.Contains`检查是否包含特定内容,如`line.Contains("特定内容")`。如果返回`true`,则表示该行包含目标内容。 6. **提取特定内容后的文字**: 一旦找到包含特定内容的行,...

    freemarker_常用内置函数

    ${string.contains("substring")} ``` 13. **number** 将字符串转换为数字。 ```html ${string.number} ``` 14. **replace(find, replacement)** 替换字符串中的部分字符。 - **find**: 要替换的子串。 ...

    扩展IE中一些不兼容的方法如contains、startWith等等

    在早期的Internet Explorer(IE)浏览器版本中,确实存在对一些现代JavaScript方法的不兼容性,比如`String.prototype.contains`、`String.prototype.startsWith`以及`Array.prototype.indexOf`。这些方法在其他现代...

    【ASP.NET编程知识】.NET实用扩展方法详解.docx

    例如,当需要从用户输入中提取特定部分或清除不想要的字符时,`DeSubstring`方法可以节省很多代码。而在遍历序列并只处理其中一部分时,`SubEnumerable`方法则是理想的选择。在实际开发中,熟练运用扩展方法能够极大...

    StringUtils 字符串常用工具

    - `contains(String str, String search)`:检查字符串是否包含指定的子字符串。 - `startsWith(String str, String prefix)`:检查字符串是否以指定的前缀开始。 - `endsWith(String str, String suffix)`:检查...

    StringUtils 中文API

    boolean contains = StringUtils.contains(String str, String searchStr); ``` - **示例**: ```java String s = "hello world"; System.out.println(StringUtils.indexOf(s, "o")); // 4 ``` #### 5. **...

    C#操作INI文件源码(0515).rar

    string.IsNullOrWhiteSpace(line) && line.Contains("=")) { string[] parts = line.Split('='); if (parts.Length == 2 && parts[0].Trim() == key) { result = parts[1].Trim(); break; } } } } return...

    C#读取文件处理_C#读取文件_globeqpf_读取数据文件_查询某个字符串_源码

    在处理大量数据或大文件时,要特别注意内存管理和性能优化。在编写代码时,记得始终确保文件操作后关闭文件流,以避免资源泄露。在本例的压缩包子文件"**C#读取文件处理**"中,可能包含了更多关于如何在实际项目中...

Global site tag (gtag.js) - Google Analytics