1.checkNotNull(T reference, @Nullable Object errorMessage) :null则抛异常
此方法返回的是T本身
@Test public void testCheckNotNull() { Preconditions.checkNotNull(null,"不能为空");// 抛出空指针异常并输出errorMessage System.out.println("还继续执行吗?");// 未执行. } @Test public void testCheckNotNull() { List<String> list = Lists.newArrayList(); String name ="lisi"; Preconditions.checkNotNull(list, "不能为空").add(name);// 如果是null则抛出空指针异常并输出errorMessage System.out.println(list);//[lisi] }
2.checkArgument(boolean expression, @Nullable Object errorMessage): expression为false则抛出异常
@Test public void testCheckArgument() { Source source = new Source(); System.out.println(source.getList());//空集合 List:[] Preconditions.checkArgument(CollectionUtils.isNotEmpty(source.getList()),"集合不能为空");// 抛出参数异常并输出 System.out.println("还继续执行吗?");// 未执行. }
3.checkState(boolean expression, @Nullable Object errorMessage):
@Test public void testPrecondition() { int i = 10; Preconditions.checkState(i != 10, "状态异常"); } 报错: java.lang.IllegalStateException: 状态异常 at com.google.common.base.Preconditions.checkState(Preconditions.java:174) at com.saic.ebiz.ssc.clearing.utils.FileUtilTest.testPrecondition(FileUtilTest.java:86) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeMethod(Invoker.java:701) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:893) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1218) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:758) at org.testng.TestRunner.run(TestRunner.java:613) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:87) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1170) at org.testng.TestNG.runSuitesLocally(TestNG.java:1095) at org.testng.TestNG.run(TestNG.java:1007) at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)