遇到个奇怪的问题,代码不报错,也没有任何提示.
原因是: 在if条件中使用了泛型返回的信息,但未触发异常也没有任何提示.
具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | public <T> T getData(){ // 示例,仅用作演示,实际此处为redis返回的数据. return null; } public void test(){ // 此处不报错. // 但getData()的返回并非boolean值,导致语句无法执行,且不会抛出异常. if(getData()){ // code... System.out.println("语句"); } } |