0 0

数组问题求解5

int[] a=new int[3];
int[] b=new int[3];

a[0]=1;
a[1]=2;
a[2]=3;

b[0]=1;
b[1]=2;
b[2]=3;

System.out.println(a[0]==b[0]);
引用a与b所指向的对象不同,那为什么输出为true?
 
2012年8月15日 11:23

9个答案 按时间排序 按投票排序

0 0

享元模式知道吧,java内部对于 int 型的数据应该用了享元模式,所以a[0] 和b[0]对应的值想等同时地址也是同一个

2012年8月16日 11:52
0 0

Java中 == 的用法,当用于判断基本数据类型时,若二者值相等则返回true;
当用于判断引用类型时若二者指向地址相等则返回true;
于之相比equals()方法只能用于比较引用类型,默认若二者指向地址相等则返回true;要想比较对象内容须重写该方法。
[align=left][/align][size=large][/size]

2012年8月16日 10:45
0 0

由于a[0]与b[0]的值相等,且他们为基本数据类型

2012年8月15日 17:51
0 0

乍看上去、好像应该是false——但是a[0]和b[0]都是基本数据类型,所指向的常量1的同一个地址,所以返回true。
如果是这样:
        System.out.println(a == b); //false

或者
        String[] strA = new String[1];
String[] strB = new String[1];

strA[0] = "a";
strA[0] = "b";

System.out.println(strA[0] == strB[0]); //false

2012年8月15日 16:16
0 0

因为数组类型 属于引用类型
所以,使用‘==’号比较的是两个数组对象的内存地址是否相同.
而a[0]==b[0] 由于是基本数据类型 所以比较的是值是否相同.

2012年8月15日 16:04
0 0

要用 a 和 b 当然不同了,
但是你比较的是里面的元素啊,
你里面的元素师int,  也就是基本类型, 所以==会比较他们的值,而非对象地址。
所以就是ture了。

2012年8月15日 15:09
0 0

int是基本数据类型,==是对值比较,而不是对地址进行比较。

2012年8月15日 13:06
0 0

比较的int、string常量值,而不是对象。这些常量值a[0]=1;b[0]=1中的常量1是同一地址,所以返回true

2012年8月15日 11:59
0 0

a[0]=1,b[0]=1,所以a[0]==b[0]
你比较的是值,而不是a数组和b数组比较。

2012年8月15日 11:39

相关推荐

    最大子数组

    对于最大子数组问题,我们可以将其分解为两个半部分,分别求解左右两半的最大子数组,再考虑跨越分割点的最大子数组。 具体步骤如下: 1. **分割阶段**:将数组 `A` 分为两个相等或接近相等的部分 `A_left` 和 `A_...

    C 代码 实现线性求解器,使其易于创建 双维数组并求解相关的线性系统.rar

    在本资源中,我们关注的是一个使用C语言实现的线性求解器,它使得创建二维数组以及求解相关的线性方程组变得简单。线性方程组是数学中的基本概念,通常用矩阵的形式表示,它在各种工程、科学和经济领域中都有广泛的...

    数据结构 KMP算法及next数组求解过程

    下面我们将深入探讨KMP算法及其next数组的求解过程。 首先,我们需要理解KMP算法的基本思想。传统的朴素字符串匹配算法在遇到不匹配时会将模式串回溯到第一个字符,但KMP算法通过next数组避免了这种无效的回溯。当...

    动态规划算法-求解最大子数组问题-python实现

    动态规划算法,求解最大子数组问题,python实现。 动态规划算法是一种通过将原问题分解为相对简单的子问题,并利用这些子问题的解来构建复杂问题的解的方法。以下是对动态规划算法求解最大子数组问题的详细介绍: 1...

    js数组相减简单示例【删除a数组所有与b数组相同元素】

    本文详细讲解了如何使用JavaScript进行数组相减的操作,即删除数组a中所有与数组b相同的元素。这涉及到JavaScript中的数组遍历、元素比较以及数组的删除操作等核心知识。通过具体示例,我们学习了如何编写一个函数来...

    c++数据结构原理与经典问题求解(源代码)

    《C++数据结构原理与经典问题求解》是一本深入探讨C++编程语言在数据结构领域的应用和问题解决的书籍。源代码的提供为读者提供了实际动手操作的机会,加深理解并提升技能。以下是对该主题的详细阐述: 一、C++语言...

    数组中最大和的子数组

    在编程领域,数组是最基本的数据结构之一,而寻找数组中最大和的子数组问题是一个经典的算法问题,它属于动态规划的范畴。这个问题的目标是找到数组中的一个连续子数组,使得这个子数组的所有元素之和最大。 首先,...

    算法-分治法求解最大子数组问题

    一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。 随机产生1000以上的数据(有正有负),写入文件input.txt 比如数组{2,4,...

    动态规划-最小子数组求解

    求数组划分为子数组后,子数组的最小差(100个数,只要6毫秒,1000的话个要1000多毫秒)

    C语言实现迷宫问题求解

    本项目中,我们采用C语言实现迷宫问题的求解,利用穷举求解策略,通过递归算法来寻找迷宫中的所有可能通路。这个过程不仅锻炼了编程技巧,还对理解算法思想和数据结构有极大的帮助。 首先,我们要理解迷宫问题的...

    快速排序求解数组第k小元素

    ### 快速排序求解数组第k小元素 #### 知识点概述 在计算机科学领域,快速排序是一种高效的排序算法,它采用分而治之的策略来对一个数组进行排序。快速排序的一个常见应用是查找数组中的第k小元素。这种需求在很多...

    数据结构与问题求解(C++)第2版

    《数据结构与问题求解(C++)第2版》是由马克·维斯撰写的一本经典教材,专注于通过C++语言来阐述数据结构和算法的原理及其在问题求解中的应用。这本书对于学习计算机科学的学生以及希望提升软件开发技能的专业人士...

    C++数据抽象和问题求解(第6版).[美]Frank M. Carrano(带详细书签).pdf

    第5章 作为问题求解技术的递归 155 5.1 定义语言 156 5.1.1 语法知识基础 156 5.1.2 两种简单的语言 158 5.2 代数表达式 160 5.2.1 代数表达式的类型 160 5.2.2 前缀表达式 162 5.2.3 后缀表达式 166 5.2.4 ...

    数据结构原理与经典问题求解(源代码)

    《数据结构原理与经典问题求解》这本书的源代码集合为学习者提供了一个深入理解数据结构和算法的实践平台。下面将详细讨论其中可能涵盖的知识点。 1. **线性数据结构**:包括数组、链表、栈和队列。数组是最基本的...

    c语言实现分治算法求解最大子数组

    自己写的分治算法,也包括了暴力求解的部分,并比较两者的运行时间,输出最大子数组的起始位置

    求解能被M整除的连续子数组问题的算法解析与C++实现方法

    使用场景及目标:①需要理解和掌握解决‘数组中连续子区间和是否能被某数整除’此类问题的方法;②希望通过实际案例深入理解并学会应用双指针等高效算法技巧的人士。 其他说明:值得注意的是,文中所提到的方法并非...

    第六次算法分析与设计整理-算法分析与设计之主方法及最大连续子数组问题解析

    ② 学习并比较多种求解最大连续子数组的方法,理解时间复杂度对算法性能的影响。 阅读建议:由于文档内容较为理论化,在学习时应当配合实际编程练习来加深理解,同时注意对比不同算法之间的优劣之处。

    数据结构与问题求解C++版 课后习题答案

    以上就是从提供的文件内容中挖掘出的关于数据结构与问题求解C++版课后习题答案相关的知识点。在实际编程中,深刻理解指针及其相关操作是至关重要的,因为它们是许多高级数据结构实现的基础,并且在系统编程和性能...

    数组下标法求众数 众数求解

    在求解众数的问题中,我们可以创建一个与原始数组长度相等的新数组,新数组的每个元素表示原始数组中对应位置上的元素出现的次数。例如,如果原始数组为[1, 2, 3, 1, 4, 2, 1],新数组则初始化为全零,经过遍历后...

    调用CPLEX求解优化问题的简化方法

    调用CPLEX求解优化问题的简化方法调用CPLEX求解优化问题的简化方法

Global site tag (gtag.js) - Google Analytics