栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么要null转换参数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么要null转换参数?

如果

doSomething
重载,则需要显式将null强制转换为,
MyClass
以便选择正确的重载:

public void doSomething(MyClass c) {    // ...}public void doSomething(MyOtherClass c) {    // ...}

调用varargs函数时,需要进行强制转换的情况是:

class Example {    static void test(String pre, String... s) {        System.out.println("pre: " + pre);        if(s == null) { System.out.println("array is null"); return;        }        for(String str: s) { if(str != null) {     System.out.println(str); } else {     System.out.println("element is null"); }        }        System.out.println("---");    }    public static void main(String... args) {                test("numbers", "one", "two");                test("nothing");                test("null-array", (String[])null);                 test("one-null-element", (String)null);                 test("warning", null);    }}

最后一行将产生以下警告:

Example.java:26:警告:varargs方法的无变量调用,最后一个参数的参数类型不精确;
强制转换

java.lang.String
为varargs调用
强制转换
java.lang.String[]
为非varargs调用并禁止显示此警告



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569207.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号