采用向 Java 返回 true/false 的 C 风格函数时,最佳实践是什么?
这里用一个简单的方法来说明问题所在。
public static boolean fileNameEndsWithExtension( String filename, String fileExtension) {
return filename.endsWith( fileExtension );
}
请注意,可能有一种更优雅的方式来过滤文件(请随意对此发表评论)。无论如何,如果文件名是 null
值,执行以下操作:
- 如果文件名为空,则返回 false?如果是这样,如何区分文件名是
null
的情况?以及String
的情况或者文件名不以给定的文件扩展名结尾? - 将返回类型更改为包装类 Boolean,它允许
null
值。 - 抛出一个
Exception
并强制程序员确保null
值从未传递给该方法? - 使用其他解决方案?
最佳答案
如果文件名为空,您应该抛出 NullPointerException 或 IllegalArgumentException。我会让你决定哪个最好。关于在问题中使用哪个有一个很好的争论:IllegalArgumentException or NullPointerException for a null parameter?
关于java - 调整返回 true/false 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575983/