当前位置: 首页 > 面试题库 >

在数据类型的圆括号内?

陶飞英
2023-03-14
问题内容

我是一个初级程序员,在我的教科书中遇到了这个问题:

public boolean equals(DataElement otherElement)
{
    IntElement temp = (IntElement) otherElement;            
    return (num == temp.num);
}

IntElement是的子类DataElementnum是一个存储链表值的整数。

(IntElement)之后的目的是temp =?什么IntElement temp = otherElement?而且,通常,将数据类型放在这样的括号中会做什么?


问题答案:

这称为转换,请参见此处:

  • http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

基本上,通过执行以下操作:

IntElement temp = (IntElement) otherElement;

您告诉编译器忽略声明otherElement为的事实,DataElement并相信您将成为的一个IntElement,不是DataElement或其他子类DataElement

在这种情况下,您不能IntElement temp = otherElement;otherElement定义的那样做DataElement其他事情IntElement。这将对类型安全性造成很大的打击,这就是首先定义类型的原因。

从技术上讲,这可以使用类型推断来完成:

  • http://en.wikipedia.org/wiki/Type_inference

但是Java不支持它,您必须明确。

如果有可能获得其他元素,则可能要instanceof在强制转换之前检查类型运行时:

  • Operators / TheinstanceofKeyword.htm“> http://www.java2s.com/Tutorial/Java/0060_Operators/TheinstanceofKeyword.htm

完成这一步后的某个时候,您可能还想看看泛型:

  • http://en.wikipedia.org/wiki/Generics_in_Java


 类似资料:
  • 我正在尝试找到一种方法,使VSCode在我点击括号内的回车键到括号的开头时自动缩进项目,如下所示(类似于这篇文章)。这在Jupyter中运行良好,但我在VSCode中找不到相同的解决方案,也无法在线找到解决方案。有人知道如何通过VSCode中的预设来实现这一点吗?提前致谢。 当前: 渴望的: 编辑 @Shradha 虽然听起来与我正在寻找的内容相似,但您的建议并没有以我正在寻找的方式解决代码问题。

  • 我来自C背景,最近开始学习python。我正在学习索引和选择数据。我遇到了在类,和在熊猫库。我不明白什么是?是功能还是属性?很多时候,我错误地使用而不是,并且没有得到实际的结果(但它不会给我带来错误)。 例子: 有谁能告诉我在哪里可以更多地研究这类运营商。

  • 圆括号运算符用于改变其他运算符的优先级,例如表达式${4 + 5 * 2},先计算5 和2的乘积,再将计算结果和4相加。如果该表达式改成${(4 + 5) * 2},EL引擎会先计算4和5的和,然后将计算结果和2相乘,并输出最终的计算结果。

  • 我正在使用OpenNLP java将字符串转换为标记。但是,我发现圆括号无法正确识别。 我正在使用的代码:' 例如,字符串是“像我这样的人正在关闭新闻”。结果是: 未识别“are”的左侧圆括号。此外,例如,“401(k)”转换为“401(k”和“)”。 我还尝试了“SimpleTokenizer”课程。它可以把括号分开,但也可以把“头版”和“头版”分开,这不是我想要的。 我想知道是否有解决办法?

  • 我有一个长字符串,只要逗号不在方括号或圆括号内,我想通过用逗号将其拆分来将其设置为数组。我已经尝试了一些变化,但没有得到我想要的。。。 例1: 例2:

  • 在调用方法时,圆括号可有可无,是个可选的. 例子: 13.6.不使用圆括号调用方法 build.gradle test.systemProperty 'some.prop', 'value' test.systemProperty('some.prop', 'value')