当调整返回true/false的C风格函数到Java时,最佳实践是什么?调整返回true/false的方法
下面是一个简单的方法来说明问题所在。
public static boolean fileNameEndsWithExtension(String filename, String fileExtension) {
return filename.endsWith(fileExtension);
}
请注意,有可能是一种更优雅的过滤文件的方式(随意对此进行评论)。无论如何,如果文件名是null
值,是否有:
- 如果文件名为空,返回false?如果是这样,那么如何区分文件名为
null
的情况和String
或文件名不以给定文件扩展名结尾的情况? - 将返回类型更改为允许值为
null
的包装类Boolean。 - 抛出一个
Exception
并强制程序员确保一个null
值永远不会传递给该方法? - 使用另一种解决方案?
见http://stackoverflow.com/questions/135845/are-booleans-as-method-arguments-unacceptable/135871#135871一个可能的选项(4) – skaffman 2010-04-04 21:54:35
谢谢skaffman。 – 2010-04-04 23:10:30