【问题标题】:instance/static methods called from left to right?从左到右调用实例/静态方法?
【发布时间】:2026-01-22 10:45:01
【问题描述】:

我是 Java 菜鸟。在编写使用返回对象引用的静态或实例方法的代码时,假设它们将从左到右运行是否安全?

http://developer.android.com/reference/android/os/Environment.html(参见 getExternalSto... 返回文件) http://developer.android.com/reference/java/io/File.html(见 getAbsolutePath() 返回字符串)

String storagePath = Environment.getExternalStorageDirectory().getAbsolutePath();

或者你应该这样做作为保障吗?

String storagePath = ( Environment.getExternalStorageDirectory() ).getAbsolutePath();

【问题讨论】:

  • String storagePath = ( Environment.getExternalStorageDirectory() ).getAbsolutePath(); 的安全 gurad 是什么意思
  • 两者的工作方式相同。不需要额外的括号。

标签: java android methods formatting


【解决方案1】:

当然,不需要括号。 getExternalStorageDirectory() 返回一个对象,然后你调用这个对象的getAbsolutpath() 方法。

【讨论】:

    【解决方案2】:

    . 运算符具有左关联性,即操作数从左开始分组

    所以,是的,假设它们将从左到右分组是安全的


    但什么是关联性?

    当运算符具有相同的优先级时,关联性控制执行操作的顺序。即从left(操作数从左分组)或right(操作数从右分组)或none

    【讨论】: