`
liuwei1981
  • 浏览: 773771 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161669
社区版块
存档分类
最新评论

java解惑------八两

阅读更多

问题:给出变量x和i的声明,是如下语句合法:

x = x+i;

但是这条语句不合法:

x += i;

 

符合复制操作要求两个操作数都是原生类型的,例如int,或包装了原生类型,例如Integer,但有一个例外:如果在+=操作符左侧的操作数是String类型的,那么它允许右侧的操作数是任意类型,在这种情况下,该操作符执行的是字符串链接操作。简单复制操作符允许其左侧的是对象引用类型,这就更宽松了:可以使用他们来表示任何你想要的内容,只要表达式的右侧与左侧的变量是赋值兼容的。

 

可以利用这一差异来完成问题。要想用+=操作符来执行字符串链接操作,就必须左侧的变量声明是String类型。通过使用直接赋值操作符,字符串链接的结果可以存放到一个Object类型变量中。

 

解决:

 

Object x = “Buy”;

String i = "Effective Java";

 

简单赋值是合法的,因为x+i是String类型,而String类型与Objcet类型兼容:

x=x+i;

 

复合赋值是非法的,因为左侧是Object引用类型,而右侧是String类型:

x += i;

 

分享到:
评论

相关推荐

    JAVA面试题解惑--经典面试题

    (八)Java的基本类型(内置类型)包括int、char、byte、short、long、float、double和boolean,它们都有对应的包装类,如Integer、Character等。理解它们的范围、转换规则和默认值对于编写高效代码很有帮助。 (九...

    Java解惑Java解惑

    《Java解惑》系列是一本专注于解答Java编程中常见困惑的书籍,由作者junJZ_2008在JavaEye社区分享。该系列共有八篇文章,内容涵盖了许多基础但重要的Java知识点,旨在帮助读者深化对Java语言的理解,尤其是那些在...

    java 解惑.pdf

    ### Java解惑知识点详解 #### 一、表达式谜题 **谜题1:奇数性** - **描述**:程序看似应该返回一个布尔值,表明一个数字是否为奇数,但结果却出乎意料。 - **解惑**:在进行模运算时,需要注意负数的情况。当输入...

    java解惑.doc

    本文档“java解惑.doc”旨在帮助Java开发者解决他们在学习和实践过程中遇到的问题,深入理解Java的核心概念和技术。 1. **基础语法与数据类型** Java的基础语法包括变量声明、条件语句(if-else、switch-case)、...

    java 解惑.doc

    9. **半斤**和**八两**:这两个谜题可能与重量单位或数字表示有关,可能探讨了精度问题、本地化设置或是数字格式化陷阱。 书中每一个谜题都配以详细的解惑方案,通过实例解析和深入解释,使得阅读过程既有趣味性又...

    java解惑很全的题目

    【Java解惑很全的题目】是一份专为Java学习者设计的疑难解答文档,它包含了一系列关于Java编程语言的问题和谜题,旨在帮助读者深入理解Java的核心概念、语法特性和编程技巧。以下是对其中部分题目及其涉及知识点的...

    JAVA解惑

    ### JAVA解惑:常见错误与陷阱解析 #### 引言 在编程的世界里,细节决定成败,尤其是在使用广泛的语言如Java中,理解并避免常见的错误和陷阱至关重要。本文旨在通过一系列文章,深入探讨Java编程中易犯的错误,...

    Java解惑word版

    当两个整数相乘可能导致结果超出 `int` 类型范围时,必须确保至少有一个乘数是 `long` 类型,如 `24L * 60 * 60 * 1000 * 1000`。这样可以确保所有中间计算都在 `long` 类型的范围内进行,避免溢出。 4. **字面...

    JAVA面试题解惑系列

    Java提供了八种基本数据类型,分为两类:整型和浮点型。 - 整型:`byte`、`short`、`int`、`long` - 浮点型:`float`、`double` 此外,还有两种特殊的基本类型:`boolean`和`char`。 ### 继承、多态、重载和重写 ...

    Java解惑(谜题)CHM中英文双版本

    谜题10:八两 Java谜题2——字符谜题 谜题11:最后的笑声 谜题12:ABC 谜题13:畜牧场 谜题14:转义字符的溃败 谜题15:令人晕头转向的Hello 谜题16:行打印程序 谜题17:嗯? 谜题18:字符串奶酪 谜题19...

    Java编程中须注意的细节.pdf

    为了解决这些问题,可以参考《Java Pazzlers》(Java解惑)这本书,其中对许多常见的编程陷阱进行了深入分析。下面将详细阐述文档中提到的Java编程中应注意的几个关键细节。 1. 数值表达式中的奇偶判断 在Java中,...

    IT学生解惑真经,大学希望从事IT业的最佳宝典

    书中可能会介绍常见的编程语言,如Python、Java、C++、JavaScript等,讲解它们的特点、应用场景和学习方法。熟悉至少一到两种编程语言,并能灵活运用,是进入IT行业的敲门砖。 三、网络技术 互联网是IT行业的基石,...

    很全面的kafka技术文档

    #### 八、Kafka Consumer端的一些解惑 Consumer 端的主要任务是从 Kafka 中获取消息并进行处理。需要注意的关键点包括: - **消息拉取(Polling)**:Consumer 通过轮询的方式从 Kafka 中获取消息。 - **自动提交...

Global site tag (gtag.js) - Google Analytics