gpt4 book ai didi

java - 关于类型转换对象支架的问题

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:28 24 4
gpt4 key购买 nike

我注意到有两种方式来转换对象(区别在于外括号的位置):

 1. SimpleType simpleType = ((SimpleType) (property.getType()));
2. SimpleType simpleType = ((SimpleType) property).getType();

他们在做同样的事情吗?

最佳答案

Are they doing the same thing ?

他们不是。

  • 第一个是转换你从property.getType()SimpleType。 (调用转换之前完成)
  • 第二个是首先将您的 property 转换为 SimpleType 并且然后在其上调用 getType() 方法。 (转换调用 之前完成)。

也可以从括号的优先级来理解。由于它具有最高优先级,因此将首先对其进行评估。

第一种情况:-

因此,在 ((SimpleType) (property.getType())); 中:-

(property.getType())

首先被评估,然后执行转换。事实上,你真的不需要括号。 (propertydot (.) 运算符的绑定(bind)比 cast 运算符更紧密)。因此,调用总是在转换之前完成。除非你强制它反转,如下例所示:-

第二种情况:-

((SimpleType) property).getType() 中:-

((SimpleType) property)

首先被评估,然后调用完成。因为,现在您已将 property 括在方括号内,由于 binds 运算符更紧密,因为 cast 执行了更高的优先级em>括号

关于java - 关于类型转换对象支架的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com