java 中重载函数调用时出现的问题
?报错信息为:The method write2File(boolean, File) is ambiguous for the type TestOverride
?
出现该问题的场景是:重载的两个函数中有实参为null,java编译器没法确定此处的null是指File还是String,所以就报编译错误了。
如何解决呢?明确地执行此处null的类型,代码如下:
package com.test;import java.io.File;public class TestOverride {public static void write2File(boolean isWrite2File, File file) {}public static void write2File(boolean isWrite2File, String filepath) {}public static void main(String[] args) {File file=null;write2File(false, file);}}
?
?
?