0

我使用了使用 CTRL+SHIFT+G 找到的以下代码 这是我最后需要编写的正确代码。

String Name =   ((Entitys) (typeAnno.getTel())).getName();

假设我没有找到这段代码,我的出发点是 typeAnno.getTel() 并且我需要编写上面的代码,eclipse 有什么方法可以帮助解决这个问题吗?

需要一些关于如何处理它的最佳实践(不是这个代码,我需要一般的解决方案),并找到更多的转换选项来进行复杂的转换。

namespace = ((Sch) ((Entitys) typeAnno.getTel()).eCont()).getName();

问题是,如果我没有在其他类中找到代码,我不知道如何开始?如果铸造选项是可能的与否和选项。

这里的代码是特定的代码,但我的问题一般来说,假设你必须找到铸造选项你会怎么做?

谢谢!

4

1 回答 1

2

我认为,如果您必须在代码中编写如此多的铸件,那么您的设计就会出现问题。

让我们回顾一下你的情况。返回什么typeAnno.getTel()?假设它返回名为 的类的实例Phone。似乎这个类扩展Entities了声明方法getName()。在这种情况下,您根本不需要铸造。说啊:

String name = typeAnno.getTel().getName();

在 Java 1.5 之前,我们有时需要在从集合中提取对象时进行强制转换。但是 java 1.5 中引入的泛型几乎可以完全避免编写强制转换。

所以,一般问题的一般答案是。如果您必须投射一些东西,请检查您的设计。在大多数情况下,您完全可以避免它。

于 2012-12-31T12:05:53.477 回答