`

java 中Integer 类型为什么能相加?

 
阅读更多
public class test
{
public static void main(String[] args)
{
 
  Integer a=new Integer(12);
  Integer b=new Integer(78);
  System.out.println(a+b);
}
}
a和b都不是基本类型,却能相加,这是怎么实现的?
如果要自己写两个可以相加的类应该怎么办?
最佳答案 刚刚在另一个问题中提到这一点 jdk1.5的新特性 自动装箱和拆箱
也就是 包装类和它包装的简单类型 可以自由转换
以前我们实现这个例子时必须做的是
int a1 = a.intValue();
int b1 = b.intValue();
System.out.println(a1 + b1);
而有了新特性 就不那么多转化了 jvm就帮我们做这些事
分享到:
评论

相关推荐

    JAVA数据类型

    - 自动类型转换:当基本数据类型之间进行运算时,如果类型不一致,编译器会自动将低精度类型提升到高精度类型,例如,byte与int相加,byte会自动提升为int再进行计算。 - 强制类型转换:如果需要将高精度类型转换...

    Integer创建对象

    首先,`Integer`是Java中的一个包装类,用于封装基本类型`int`。Java提供了八种基本类型的包装类,包括`Boolean`, `Byte`, `Character`, `Short`, `Integer`, `Long`, `Float`, 和 `Double`。这些类允许我们将基本...

    Java_基础试题及答案

    - 给出的程序段尝试在一个`try`块中返回,但是因为`return`语句后面没有跟任何值,且该方法的返回类型为`void`,所以`return`语句不会引发问题。`finally`块总是被执行,因此最终输出将是“Finally!”。 通过以上...

    JAVA中字符串如何与整型数字相加

    这是因为 Java 中的字符串是用来存储文本数据的,而整型数字是用来存储数值数据的两者的数据类型不同,无法直接相加。 那么,如何将字符串与整型数字相加呢?答案是使用 parseInt() 方法将字符串转换为整型数字,...

    java数字类型转换

    在Java编程语言中,数字类型转换是一个常见的操作需求,特别是在处理不同类型的数值数据时。根据提供的文件信息,我们可以深入探讨“Java数字类型转换”这一主题,特别是如何在GUI(图形用户界面)环境中进行整型与...

    Java多态的实现机制

    在上面的例子中,List 抽象类可以抽象成不同的类型,如 String、Integer 等。 4. 包含的多态 包含多态涉及的是小部分没有相同特征的对象。例如,父类和子类的关系,子类继承了父类的方法和属性。 例子: ```java...

    Java面试题(附详细答案-200)

    在Java中,两个short类型的数值相加会自动提升到int类型,所以`s1 = s1 + 1;`会导致编译错误,需要显式转换。而`s1 += 1;`则是合法的,因为Java会自动处理这种类型的提升并进行转换。 8. **char型变量中能不能存贮...

    java中超过long范围的超大整数相加算法详解(面试高频)

    Java 中超过 long 范围的超大整数相加算法是指在 Java 语言中,如何对超过 long 类型范围的整数进行加法运算的算法。由于 long 类型的范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,因此当需要...

    Java 自动转换的资源

    Java 自动转换是Java编程语言中的一个重要特性,它涉及到类型转换、自动装箱与拆箱、数据类型提升等多个方面。在Java中,自动转换极大地方便了开发人员处理不同类型的数据,提高了代码的可读性和效率。以下是关于...

    java基础学习——类型转换.doc

    Java 类型转换是编程过程中常见的操作,特别是在处理不同数据类型的变量之间交互时。本文主要讨论了 Java 中的三种类型转换:强制类型转换、自动升级类型转换以及表达式的升级类型转换,同时也提到了自动包装和解包...

    深入Java核心 Java中多态的实现机制编程资料

    例如,在Java中,当进行不同类型的数据运算时,编译器会自动进行类型提升。下面是一个简单的例子: ```java double d = 2.0; int i = 2; String s = "2"; // 强制多态示例 System.out.println(d + i); // 输出 4.0...

    java面试宝典

    为什么?** `char`型变量可以存储中文汉字,因为Java中的`char`类型使用的是Unicode编码,其范围足够覆盖所有的中文字符。 **8. 用最有效率的方法算出2乘以8等于几?** 最简单有效的方式是使用位移操作符`。`2 相当...

    JAVA选择题复习.txt

    - Java中的类型转换可以通过显式类型转换实现。 - 运算符`+`可以用于数值相加,也可以用于字符串连接。 #### 16. 编译Java源代码生成的文件类型 - 编译Java源代码会生成字节码文件,其扩展名为`.class`。 #### 17....

    java-leetcode题解之第415题字符串相加.zip

    1. **转化为整数**:首先,我们可以将输入的字符串转换为整数,利用Java的Integer.parseInt()方法。但是,由于题目要求不直接使用内置的转换函数,所以我们需要自定义一个算法。 2. **自定义加法**:自定义加法算法...

    java面试题

    例如,当 short 类型与 int 类型相加时,结果会自动转换为 int 类型,因此需要对结果进行强制类型转换,如 `short s1 = (short)(s1 + 1)`。 【goto 语句】 在 Java 中,goto 是一个保留关键字,但目前并未在语言中...

    Java面试宝典2018

    为什么? **可以**。一个`char`类型在Java中占用2个字节,足以存储一个Unicode编码的中文字符。 #### 8. 用最有效率的方法算出2乘以8等于几? 直接使用乘法运算符`*`即可:`2 * 8`。 #### 9. 请设计一个一百亿的...

    西安财经大学无纸化评测系统Java30套参考答案pdf

    ` 中,`int` 类型的 `ii` 与 `long` 类型的 `g` 相加,结果会被提升为 `long` 类型。接着,`float ff = b*f;` 和 `double dd = ff/ii+d;` 进行了浮点数运算,其中浮点数除法会返回 `double` 类型的结果。 Java_2类...

    TestMath.zip_java的GUI实现两个文本框内容相加

    本教程将专注于如何在Java GUI中实现两个文本框的输入值相加,并在按下等于号按钮后显示结果。以下是对这个任务的详细解释: 1. **Java Swing库**: 要创建GUI,首先需要引入Java Swing库。Swing是Java提供的一个轻...

    java资料面试题

    #### 2.9 Java 中有哪些数据类型? Java 中的数据类型分为两大类: - **原始类型**:包括 int、long、float、double、char、boolean、byte、short。 - **引用类型**:包括类、数组、接口。 #### 2.10 如何解决 ...

    java经典面试题.doc

    不是,Java中最基本的数据类型包括`int`、`float`、`boolean`等,`String`是引用类型。 #### 56. int和Integer有什么区别? - `int`是基本数据类型。 - `Integer`是`int`的包装类。 #### 57. 运行时异常与一般...

Global site tag (gtag.js) - Google Analytics