本文主要是介绍null的伟大与可怕 之 String字符串方法2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
null的伟大与可怕 之 String字符串方法2
null的伟大与可怕 之 String字符串 1
http://blog.csdn.net/sunrainamazing/article/details/71591334
null的伟大与可怕 之 String字符串方法2
http://blog.csdn.net/sunrainamazing/article/details/71593030
null的伟大与可怕 之 Optional操作 3
http://blog.csdn.net/sunrainamazing/article/details/71596437
package sun.rain.amazing.strnull;import org.junit.Test;/*** Created by sunRainAmazing on SUN_RAIN_AMAZING* @author sunRainAmazing*/public class MethodNull {private final static String s1 ="null";private final static String s2 = null;private final static String s3 = "";@Testpublic void initVariable(){System.out.println(s1);System.out.println(s2);//对print的引用不明确
// System.out.print(null);}/*** 运行时异常* contains 方法 内部调用的 时 indexOf 方法** 但是 contains 的返回值是 boolean* indexOf 的返回值是 int* String contains 和 indexOf 方法无法对null进行运算** 但是 == 可以*/@Testpublic void testMethod() {//报空指针异常 java.lang.NullPointerException
// System.out.println(s1.indexOf(s2));
// System.out.println(s1.contains(s2));// 报空指针异常 java.lang.NullPointerException
// System.out.println(s2.contains(s1));
// System.out.println(s2.contains(s1));//报空指针异常 java.lang.NullPointerException
// System.out.println(s1.indexOf(null));
// System.out.println(s1.contains(null));//编译错误
// System.out.println(null.indexOf(s1));
// System.out.println(null.contains(s1));// System.out.println(s1.indexOf(s3));//0
// System.out.println(s1.contains(s3));//true// System.out.println(null==s1);//false
// System.out.println(s2==s1);//falseSystem.out.println(s2 == null);//trueSystem.out.println(null == null);//true}/*indexOfpublic int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。返回的整数是this.startsWith(str, k) 为 true 的最小 k 值。参数:str - 任意字符串。返回:如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。containspublic boolean contains(CharSequence s)当且仅当此字符串包含指定的 char 值序列时,返回 true。参数:s - 要搜索的序列返回:如果此字符串包含 s,则返回 true,否则返回 false抛出:NullPointerException - 如果 s 为 null*/@Testpublic void testMethod1(){//以下结果都是0System.out.println("".indexOf(""));System.out.println(s3.indexOf(""));System.out.println(s3.indexOf(s3));//indexOf方法没有外抛异常声明 null没有length属性//报空指针异常 java.lang.NullPointerException
// System.out.println(s3.indexOf(s2));
// System.out.println(s3.indexOf(null)); //以下结果全是trueSystem.out.println("".contains(""));System.out.println(s3.contains(""));System.out.println(s3.contains(s3));}/*** equals()方法可以比较null* 但通常将 null作为参数 进行判断* 而不是null.equals(str) -- 会报 NPE 异常*/@Testpublic void testEquals(){System.out.println(s1.equals(s2));System.out.println(null instanceof String);System.out.println(null+"");System.out.println(null+"" instanceof String);}}
这篇关于null的伟大与可怕 之 String字符串方法2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!