如何表示空/无效的java.nio.Path
如何创建表示无路径的java.nio.Path,无论环境如何 我无法调用如何表示空/无效的java.nio.Path,java,nullpointerexception,nio,is-empty,Java,Nullpointerexception,Nio,Is Empty,如何创建表示无路径的java.nio.Path,无论环境如何 我无法调用Path.of()并保证生成的路径指向无效的文件或目录 我要寻找的是,是否有比使用null值更安全的方法来表示空/无效路径。如果希望避免空值,请使用可选,然后可以测试空/存在 如果要避免空值,请使用可选选项,然后可以测试空值/当前值 根据您的用例,有两个选项: 如果试图从方法返回路径,可以使用Optional和returnOptional.empty()表示无路径 如果这是类中的一个字段,并且该类实现了某些行为,则可以使用
Path.of()
并保证生成的路径指向无效的文件或目录
我要寻找的是,是否有比使用
null
值更安全的方法来表示空/无效路径。如果希望避免空值,请使用可选,然后可以测试空/存在 如果要避免空值,请使用可选选项,然后可以测试空值/当前值 根据您的用例,有两个选项:
- 如果试图从方法返回路径,可以使用
和returnOptional
表示无路径Optional.empty()
- 如果这是类中的一个字段,并且该类实现了某些行为,则可以使用来实现另一个具有相同接口的类,该接口“不做任何事情”(如果没有路径,则应用程序需要做什么)
- 如果试图从方法返回路径,可以使用
和returnOptional
表示无路径Optional.empty()
- 如果这是类中的一个字段,并且该类实现了某些行为,则可以使用来实现另一个具有相同接口的类,该接口“不做任何事情”(如果没有路径,则应用程序需要做什么)
路径。它不打算以这种方式使用。
如果您有一个函数可以返回路径
,但在某些情况下不会返回,那么最好的方法是返回可选
优点是,您将强制调用函数的人检查没有有效路径的情况。与返回null
不同,如果调用者忘记检查它,他只会让程序在稍后被NullPointerException
炸毁。我不会真正尝试创建无效的路径。它不打算以这种方式使用。
如果您有一个函数可以返回路径
,但在某些情况下不会返回,那么最好的方法是返回可选
优点是,您将强制调用函数的人检查没有有效路径的情况。与返回null
不同的是,如果调用方忘记检查它,他将在稍后使用NullPointerException
使程序崩溃。也许您可以使用/dev/null?是的,这会起作用。但是Windows用户呢?我认为NUL是保留的。我不知道windows有这样的功能。太酷了!另一方面,我认为它是批处理语法的一部分,而不是文件本身。这仍然取决于系统。如果我在我的Linux机器上进行单元测试,当我想在Windows上工作时,我必须更改“无效文件”路径……也许你可以使用/dev/null?是的,这可以。但是Windows用户呢?我认为NUL是保留的。我不知道windows有这样的功能。太酷了!另一方面,我认为它是批处理语法的一部分,而不是文件本身。这仍然取决于系统。如果我在Linux机器上进行单元测试,当我想在Windows上工作时,我必须更改“无效文件”路径。。。