Java / 包含多个 '.' 的语句运营商

Java / Statements containing multiple '.' operators

在Java中,考虑以下代码:

Vector v = new Vector();
for(int i = 1; i <= 10; i++)
{
    v.addElement(Integer.toString(i));
}
System.out.println(v.elementAt(9).toString());

v.elementAt(9).toString() 这样的 Java 语句是否包含多个 '.'运算符完全足够好,或者它们是否会在特定时间段内引起任何特定类型的冲突?

到目前为止,我只是始终将它们放在括号中足够安全,方法是在单个语句周围使用括号,以免与任何给定类型的冲突发生,毕竟。

(v.elementAt(9)).toString().

到目前为止,在我自己十多年的编程和编码经验中,我从未创建过任何给定类型的模棱两可的语句。

v.elementAt(9).toString().

Are Java statements like v.elementAt(i).toString() containing multiple '.' perfectly fine enough at all or do they cause any given type of conflict during some given period of time after all?

它们非常好,但有一些注意事项。如果 v.elementAt(i)null,那么调用 v.elementAt(i).toString() 将抛出一个 NullPointerException。如果您将 select i 作为某个负值或大于 Vector 的值,我怀疑也会抛出 ArrayIndexOutOfBoundsException。您可以将此语法视为函数的组合(从左到右),这与数学中的方式相反。

在您的具体示例中,此语法在逻辑上是等效的:

(v.elementAt(i)).toString()