这很重要,因为我在readObject方法中用反序列化的基元创建了一个对象。所以如果我正在写
ObjectInputStream s; //From the readObject method
Object obj = new Object(s.readDouble(), s.readDouble(), s.readDouble());
它会以正确的顺序反序列化它们写入字节流的顺序吗?
答案 0 :(得分:3)
是的参数将按顺序进行评估。
答案 1 :(得分:3)
在Java中,表达式始终从左到右进行评估。因此,第一个readDouble
调用的结果将成为Object
构造函数的第一个参数(但请不要将您的类Object
命名为!与java.lang.Object
冲突),等等。
答案 2 :(得分:1)
Java参数列表从左到右评估
答案 3 :(得分:1)
是的,他们会以正确的顺序反序列化。
您可能希望从这些s.readDouble()
值中创建(好的)命名变量,但它们的含义更清楚。