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

如何在Java类中实现运算符

董高洁
2023-03-14
问题内容

我正在尝试创建一个无符号整数类。

public class UnsignedInteger extends Number implements Comparable<UnsignedInteger> 
    { 
    ... 
    }

有没有办法实现诸如 +,-,*,/,<<,>>,|,^,>>>,<<


问题答案:

Java不支持运算符重载。你是唯一的选择定义了类似的方法add()subtract()multiply(),等,并写出逻辑存在,并调用它们的特定操作。

您可以看一下BigInteger类,以了解如何定义支持各种操作的方法。如果有兴趣,您甚至可以浏览源代码,您可以在
jdk 主目录的 src 文件夹中找到该源代码。 __



 类似资料:
  • 问题内容: 具体来说,在对象引用相等的情况下,==运算符的作用是什么? 如果在比较时引用对相同的对象地址求值,则比较是否返回true?还是利用两个引用的hashCode值确定对象是否相同? 具体来说,我想知道==操作引用 了JVM管理的哪些数据结构以 进行参考比较。==是否依靠OOP进行参考比较? 对我来说不幸的是,JLS没有定义==运算符必须如何工作。Java API文档没有提及==应该做什么(

  • 问题内容: ps=con.prepareStatement(“select * from REGISTER inner join ORGAN on REGISTER.PATIENTID=ORGAN.PATIENTID where ORGAN.ORGAN LIKE ?”); ps.setString(1,”’%”+o.getOrgan()+”%’“); 我在SQL Developer中执行了正常的查

  • 问题内容: 我有这个UML协会类。注意:水平线是实线,垂直线是虚线。 我了解这种关系,但是在实现此UML进行编码时遇到了一些问题。我可以实现类与类之间的关系以进行编码。这是我的代码: 但是,在课堂上,我对如何在代码中使用此类不太了解。是阶级和阶级的财产吗?因此,如果是这样,那么代码将是: 是真的吗 如果这是错误的,请教我如何实现此UML。 谢谢 :) 问题答案: 首先,不要使用Vector,因为它

  • 本文向大家介绍如何在 Java 中实现不可变类,包括了如何在 Java 中实现不可变类的使用技巧和注意事项,需要的朋友参考一下 前言 面向对象的编程通过封装可变动的部分来构造能够让人读懂的代码,函数式编程则是通过最大程度地减少 可变动的部分来构造出可让人读懂的代码。 — Michael Feathers,Working with Legacy Code 一文的作者 在这一部分中,我讨论的是函数式编

  • 我有一个具有两个数据成员的泛型类。这是我写的一段代码 我想对num1和num2进行简单的算术运算,比如加法和减法,我还想进行简单的二进制运算,比如 但是这是不允许的,那么有人能告诉我如何执行这些任务吗?

  • 问题内容: 当String是类时,为什么在Java中可以使用+运算符添加String?在代码中,我没有找到该操作符的任何实现。这个概念是否违反了面向对象? 问题答案: 让我们看一下下面的Java简单表达式 编译器在内部进行转换,并用于将整数“添加”到字符串中。 5.1.11。字符串转换 可以通过字符串转换将任何类型转换为String类型。 首先将原始类型T的值x转换为参考值,就像通过将其作为适当的