关于Integer等包装类(外覆类)的问题

mylzw 2005-03-13 11:53:44
Integer i; //是定义了一个Integer对象的引用变量,此时将在堆栈区开辟该引用变量的空间(是8个字节?).
i=new Integer(100); //在堆中建立Integer对象,使用类构造函数,将100存入Integer对象的哪个属性??
//此时,i中是对象Integer的引用.

System.out.println(i.toString());
System.out.println(i);
//此时,屏幕显示:
// 100
// 100
//莫非 i.toString()<=>i ?

//想改变 i 中的整数值,难道只能新建一个对象:
i=new Integer(999);

//基本类型可接收Integer对象的值
int ii;
ii=I.intValue();
//但Integer对象如何接收ii的值?
//? i=new Integer(ii) ???
//? i=i.getInteger(??????)

最后,java的外覆类是如何实现的? 自己能实现一个吗?

俺初学java,刚开始看java编程思想~~ 希望大家不要鄙视俺...
...全文
293 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mylzw 2005-03-13
  • 打赏
  • 举报
回复
谢谢 IceCraft(心淡情浓) 的参与啊 . 能再分析的详细点吗??
云物数智 2005-03-13
  • 打赏
  • 举报
回复
文档分为左右两大块,左边又分为上下两块。
如果你不知道某个类具体是哪个包里的,就在左下的页面中浏览,找到后点击就在右边打开它的文档了。如果知道了包,就在左上的页面中点击对应的包名,左下就会打开这个包里的所有类,再在这些类中浏览你要看的类。

然后是上边的问题,Integer i是建立了一个引用,new Integer(100)则是分配了一块内存来存储这个对象,当你进行这样的操作i=new Integer(100); ,则是把引用指向了这块内存。
i.toString()的作用是调用了i这个对象的一个方法toString(),结果是返回了i的值的字符串形式,返回的是一个String型的对象,而i是Integer型的,它们根本不存在比较关系。
i=new Integer(999);
这样做其实又新开了一块内存,并且这个引用i指向了新的这快内存,原来的Integer(100)的那快内存因为失去了引用,在一定时候将被垃圾收集器回收。
Pthinker 2005-03-13
  • 打赏
  • 举报
回复
要先知道Integer是哪个包中的
在用查找功能就行了
mylzw 2005-03-13
  • 打赏
  • 举报
回复
俺不知道如何才能通过j2se 文档找到有关 integer的说明,规根截底是不会看文档,~ 望大家指点迷津.~
jFresH_MaN 2005-03-13
  • 打赏
  • 举报
回复
那是不是只能再i=new integer("xxx")来改变其值?
---------
你这样就是new了另一个对象,其实是原来的引用指向了另外的对象
也能算是改变了值吧
mylzw 2005-03-13
  • 打赏
  • 举报
回复
我还天真的认为整数值在integer对象的一个数据成员中存放,只要改变了这个数据成员的值就ok了呢~~
那是不是只能再i=new integer("xxx")来改变其值?
jFresH_MaN 2005-03-13
  • 打赏
  • 举报
回复
1.Integer对象的引用变量占几个字节?
---------
对象站用的空间是很复杂的,不是因为它只有一个int成员就占int的空间
更何况这个类里面的成员是很复杂的,所以根本不可算

2.如何改变一个Integer对象中的值?
---------------
和String一样,Integer是final类,而且和String一样,我们给对象初始化之后就不能修改它所表示的int值
mylzw 2005-03-13
  • 打赏
  • 举报
回复
跟了这么多帖子,大家还是没有回答我的问题啊。 我现在将我的问题整理一下:
1.Integer对象的引用变量占几个字节?
2.如何改变一个Integer对象中的值?
jwbecalm 2005-03-13
  • 打赏
  • 举报
回复
IceCraft(心淡情浓) 说得真不错
另外,在JBUILSER中查看一个类的源码和帮助信息都很方便

F1 Help(光标定位到一个关键字中时,按F1,可查看其DOC)
ctrl + Enter /mouseClick 当前关键字追踪
shuren 2005-03-13
  • 打赏
  • 举报
回复
%JAVA_HOME%/src.zip

打开这个文件开java.lang包下有!
ffee 2005-03-13
  • 打赏
  • 举报
回复
关于Integer
参看:http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html
关于System
参看:http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html
内容概要:本文围绕超导磁能储存系统(SMES)的建模与仿真展开,基于Simulink平台构建系统级动态仿真模型,涵盖超导线圈、功率转换系统(PCS)以及核心控制策略等关键模块。研究重点在于分析SMES在电网中实现快速能量存储与释放的能力,验证其在提升电力系统稳定性、抑制功率波动方面的有效性,尤其针对新能源发电带来的间歇性与波动性问题提供了有效的解决方案。通过仿真手段深入探讨系统的动态响应特性,为优化控制算法的设计与应用提供可靠的技术支撑。; 适合人群:适用于具备电力系统、自动控制理论或能源存储技术背景,熟悉Simulink仿真环境的科研人员、工程技术人员及研究生;同时适合有志于开展新型储能技术仿真研究的高年级本科生参考学习。; 使用场景及目标:①深入理解超导磁能储存系统的基本结构、工作原理及其在电力系统中的应用场景;②掌握在Simulink中搭建复杂电力电子与控制系统联合仿真模型的方法;③研究SMES在电网调频、电压支撑、瞬时功率补偿等典型工况下的动态性能表现;④为后续先进控制策略(如PID、模糊控制、现代控制理论等)的优化设计与验证提供仿真试验平台。; 阅读建议:建议读者结合文中模型逐步动手搭建仿真系统,重点关注各功能模块的参数设置与信号接口匹配,配合具体案例进行仿真调试,深入理解控制逻辑与系统动态行为之间的内在联系,并可进一步拓展至与其他储能形式(如锂电池、飞轮储能)的性能对比研究,以深化对不同类型储能技术特点的认知。
内容概要:本文围绕“考虑火-储联合调频(火电机组-混合储能)的协同控制策略”展开研究,提出一种基于Matlab仿真的协同控制方法,旨在提升电力系统频率调节的快速性与稳定性。通过构建火电机组与混合储能(如蓄电池、飞轮等)的联合调频模型,设计合理的功率分配机制与控制策略,充分发挥火电的持续调节能力与储能的快速响应优势,有效应对电网负荷波动与频率偏差。文中结合改进信号分解算法(如ICEEMDAN)与优化算法(如GWO),实现对调频信号的精准分频与储能单元的优化调度,提高系统整体调频效率与经济性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源并网、电力系统稳定控制、储能技术应用等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究火电机组与混合储能在电网一次调频、二次调频中的协同作用机制;②为实际电力系统中储能配置与调频控制策略设计提供仿真验证平台与理论支持;③支撑相关课题研究、学术论文撰写及工程项目前期论证。; 阅读建议:建议结合Matlab代码深入理解控制算法实现细节,重点关注功率分配逻辑、信号分解过程与优化算法参数设置,并可通过修改系统参数进行对比仿真,以加深对协同控制效果的认识。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧