Até onde eu sei, Paths.get
e Path.of
pareço fazer exatamente a mesma coisa, transformando uma ou mais cordas em um Path
objeto; a documentação https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...- e https: //docs.oracle.com/en/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String,java.lang.String ... ) use a mesma redação. Eles são de fato idênticos?
Path.of
foi introduzido mais tarde. Conjectura: foi introduzida em prol de um Foo.of
estilo consistente . Nesse caso, seria considerado preferível em termos de consistência / estética?
Path.of
porque não requer importação adicionalRespostas:
De fato,
Path.of
foi introduzido mais tarde.No arquivo da lista de discussão, esse método já foi chamado
Path.get
:Isso foi alterado mais tarde, quando Brian Goetz sugeriu que fosse consistente com
Foo.of
:Agora, para sua última pergunta: "Nesse caso, seria considerado preferível em termos de consistência / estética?"
No correio inicial, Brian Burkhalter disse que atualizou todas as referências ao novo método em
Path
:Portanto, concluo que
Path.of
é realmente preferívelPaths.get
.De fato, se você olhar o Javadoc
Paths
para Java 13 , encontrará esta nota:fonte
Paths
. O uso do método de fábrica da interface reduz o número de tipos, com o qual o código deve ser tratado. O estilo de nomeação é apenas outro ponto que foi revisado, pois havia essa oportunidade.