Java 可以安全地说点运算符类似于文件系统中的斜杠吗?

Java 可以安全地说点运算符类似于文件系统中的斜杠吗?,java,Java,例如,让我们以库java.util.Scanner为例 Scanner类位于“util”内部,而“util”又位于“java”内部?因此,在UNIX服务器中,假设扫描仪是位于两个目录中的一张照片。然后它会这样表示:java/util/Scanner.jpg 那么相同的概念但不同的分隔符。点不是运算符,它是分隔符:包分隔符。否则,是的,它对应于文件系统中的/(或\)。是的,这两个概念在非常高的层次上是相似的。但在更深层次上,这种类比是不成立的 例如,“.”符号在Java中用于跨越类和实例层次结构的

例如,让我们以库java.util.Scanner为例

Scanner类位于“util”内部,而“util”又位于“java”内部?因此,在UNIX服务器中,假设扫描仪是位于两个目录中的一张照片。然后它会这样表示:java/util/Scanner.jpg


那么相同的概念但不同的分隔符。点不是运算符,它是分隔符:包分隔符。否则,是的,它对应于文件系统中的
/
(或
\
)。

是的,这两个概念在非常高的层次上是相似的。但在更深层次上,这种类比是不成立的

例如,“.”符号在Java中用于跨越类和实例层次结构的各种上下文中。它在不同的上下文中有不同的含义。相比之下,“/”路径名分隔符意味着(几乎)一件事


我想说,进行这种类比对理解Java编程语言没有帮助。

是的,我认为这是正确的。您可以查看Java是如何处理包的,以便更好地了解包的位置(比如com.website.package),它是反向的。但是点更为具体(它是一个包分隔符,也是包在FS中的位置的表达式)?是的,很明显,在Java中,点分隔了包名的各个部分,斜杠分隔了文件系统路径中的目录。就像自然语言中的空间分隔词和房屋中的墙分隔房间一样。这很明显。它们可能在某种程度上类似,但它们并不相同。通常,你想深入细节是有原因的。包名中的点与文件路径中的斜杠也有不同的方式。简单的答案是否定的。它不是“安全的说”,它不是一个运算符,它所分离的实体类型很多,不同于具有显著和重要上下文差异的文件和目录。你更可能把自己弄糊涂,而不是从中获得任何关于这个“类比”的见解。@Erwin Bolwidt我并不是简单地问每个角色是否只是把每个部分分开。我想问的是,如果同一个概念的功能类似于树结构,那么它是否适用于关系方面的含义。在这种情况下,是的,但它在不同的上下文中是一个运算符。实际上,David,我不认为JLS在任何上下文中都调用“运算符”。例如,它在词法级别作为分隔符而不是运算符列出: