Map里面存放的是对象的引用

public class Main {
    public static void main(String[] args) {
        Map< Integer, Stu> mapA=new HashMap<Integer, Stu>();
        Map<String, Stu> mapB=new HashMap<String, Stu>();
        Stu stu=new Stu();
        stu.x=10;
        stu.y=10;
        mapA.put(1, stu);
        mapB.put("1", stu);
        System.out.println(mapA.get(1).x);
        stu.x=5;
        System.out.println(mapB.get("1").x);
        System.out.println(mapA.get(1).equals(mapB.get("1")));
    }

输出
10
5
true

时间: 2024-11-08 02:04:25

Map里面存放的是对象的引用的相关文章

logic标签遍历map map中存放的是 List集合对象

    JAVA代码     Map map=new map();      map.put("bizDevConsumMap",List集合对象);     request.setAttribute("bizDevConsumMap", bizDevConsumMap);               jsp页面代码     <logic:iterate id="n" name="bizDevConsumMap">

Java对象及其引用 (1)

Java对象及其引用 [文章转载自:http://zwmf.iteye.com/blog/1738574] 说明:所有转载为个人学习存档使用,凡转载内容均注明转载出处.以后不再说明. 关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定

实习第二天-对象-对象引用-引用变量-精-精-精-下雨天

class Person{ } Person是一个数据类型-引用类型 数据类型-变量名   Person a;  声明一个引用类型的变量a,然后在栈中给引用变量a分配了内存空间 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicl

域对象的引用,ActionContext 和ServletActionContext类的使用

ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getContext(); Map<String,Object> applicationMap = ac.getApplication();//这个就是ServletContext对象中维护的那个Map applicationMap.put("p", "application_p&q

Java 面向对象:类、对象、引用

FighterPlane fp = new FighterPlane() 先产生对象,然后赋予声明 fp new FighterPlane() 根据类模板产生一个对象,并在内存中为此对象开辟一块独立的内存空间. 以类为模板产生对象,实质上就是将类中定义的属性(域变量)复制到对象中,这些属性(域变量)虽然是在类中定义的,但实际上是为对象服务,因而称它们为对象属性. 方法在调用时,系统会为方法开辟一个栈空间,用于存放方法中的形式参数和局部变量. 方法在执行时还能访问复制到对象中的域变量,就如同方法也

指向对象的引用置空---与内存泄漏

import java.util.Arrays; public class Stack { private static final int INIT_SIZE = 10; private Object[] datas; private int size; public Stack() { super(); datas = new Object[INIT_SIZE]; } public void push(Object data){ if (size == datas.length) { ext

第九节(对象和引用)

Java把内存划分成两种:一种是栈内存,一种是堆内存 一. 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所 分配的内存空间,该内存空间可以立即被另作他用. 二. 堆内存用来存放由new创建的对象和数组.在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同

转发:Java对象及其引用

原文: http://zwmf.iteye.com/blog/1738574 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很好地理解下面的面向对象技术.把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路. 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; i

二维数组 面向对象编程的概念、 类、对象以及引用 和成员方法

1.二维数组(熟悉)1.1 基本概念 一维数组本质上就是一段连续的存储单元,用于存放多个类型相同的数据内容. 二维数组本质上就是由多个一维数组组成的数组,也就是说二维数组中的每个元素都是一维数组,而一维数组的每个元素才是具体数据内容. 1.2 二维数组的声明(1)语法格式 数据类型[][] 数组名称 = new 数据类型[行数][列数];如: int[][] arr = new int[2][5]; - 声明一个具有2行5列元素类型为int的二维数组 其中行下标的范围是:0 ~ 1: 其中列下标