【问题标题】:In Java, are parameters accesses in order when passed into a method?在Java中,传递给方法时是否按顺序访问参数?
【发布时间】:2011-10-07 10:19:32
【问题描述】:

这很重要,因为我在 readObject 方法中使用反序列化的原语创建一个对象。所以如果我在写

ObjectInputStream s; //From the readObject method
Object obj = new Object(s.readDouble(), s.readDouble(), s.readDouble());

它会以正确的顺序反序列化,即它们写入字节流的顺序吗?

【问题讨论】:

    标签: java methods parameter-passing deserialization


    【解决方案1】:

    Java 参数列表是从左到右计算的

    【讨论】:

      【解决方案2】:

      是的,它们会以正确的顺序反序列化。

      您可能希望从这些 s.readDouble() 值中创建(好的)命名变量,但它们的含义更清楚。

      【讨论】:

        【解决方案3】:

        在 Java 中,表达式总是从左到右进行计算。所以第一个readDouble 调用的结果将成为Object 构造函数的第一个参数(但请不要将你的类命名为Object!与java.lang.Object 冲突),依此类推。

        【讨论】:

        • 谢谢!是的,我只是起了个名字来表明我正在构建一个随机对象。
        【解决方案4】:

        是的,将按顺序评估参数。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-04
          • 2018-01-18
          • 2021-06-02
          • 1970-01-01
          • 1970-01-01
          • 2014-05-06
          相关资源
          最近更新 更多