社区
Java SE
帖子详情
菜鸟问
buptstwyg
2009-09-09 03:28:11
public class test4 {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
结果是1234,为什么不是welcome
...全文
302
36
打赏
收藏
菜鸟问
public class test4 { public static void changeStr(String str){ str="welcome"; } public static void main(String[] args) { String str="1234"; changeStr(str); System.out.println(str); } } 结果是1234,为什么不是welcome
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mint_wei
2009-09-11
打赏
举报
回复
如果有空可以试试
public class test4 {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
System.out.println(changeStr(str));
}
}
qq88688868
2009-09-11
打赏
举报
回复
String str="1234";
把他声明称静态的全局变量呢 这样的话就是引用同一块地址空间了
我感觉也可以输出welcome
liujun3512159
2009-09-11
打赏
举报
回复
当然是1234呀
///////////
public class test4 {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
其实函数 changeStr(str);
没有改变变量str的值呀
JACKY_fFENG
2009-09-11
打赏
举报
回复
同意一楼
O爱咋咋地O
2009-09-11
打赏
举报
回复
[Quote=引用 19 楼 happyperson 的回复:]
public static void changeStr(String str){
str="welcome";
}
此方法中的str是一个局部变量 只是传值作用。
[/Quote]
你盗用我头像啊!!!!~
O爱咋咋地O
2009-09-11
打赏
举报
回复
调用changeStr()的时候 只是把当前的引用str 赋给了 形参str 也就是说他俩保存的是一样的地址
changeStr函数里 又把形参str 的地址指向了其他地方 但是 主函数里的 str 地址还是保持没变的呀
还是指向原来的 1234
fskjb01
2009-09-10
打赏
举报
回复
晕,全局变量跟局部变量的区别啊,搞什么飞机啊!!!
laopeng2
2009-09-10
打赏
举报
回复
三位一体加业务知识(java,数据库、应用服务器+业务),才是java学习的正道,
http://javadbserver.ucoz.com/
http://javadbserver.free.mingyao.net
24K純帥
2009-09-10
打赏
举报
回复
1L正解,加上return..
qq121199529
2009-09-10
打赏
举报
回复
我是这样理解的,你用changeStr(str); 只是用str新开辟了一个堆内存,可是这样做并没有改变以前的那个堆内存中的数据,所以这样做没起到作用!所以就要用到str=changeStr(str).
羽蓝
2009-09-10
打赏
举报
回复
String是引用类型的。改变的是地址,不是值。
szw880314
2009-09-09
打赏
举报
回复
局部变量的问题
dz007
2009-09-09
打赏
举报
回复
基础类型都是这样,给他赋新的值,他就指向新的那个"welcome"
而不是吧原来的那个值改成"welcome"
wx718
2009-09-09
打赏
举报
回复
改法一:
public class test4 {
public static String changeStr(String str){
str="welcome";
return str;
}
public static void main(String[] args) {
String str="1234";
str = changeStr(str);
System.out.println(str);
}
}
Empty1024
2009-09-09
打赏
举报
回复
String可以说成是一个特殊的原子类型
Y569778402
2009-09-09
打赏
举报
回复
哎一个小问题也被你没说的很复杂
你们很行嘛 嘲笑他人
meng1503159
2009-09-09
打赏
举报
回复
[Quote=引用楼主 buptstwyg 的回复:]
public class test4 {
public static void changeStr(String str){
str="welcome";
}
public static void main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
结果是1234,为什么不是welcome
[/Quote]
结果确实是:1234,因为你在main函数中也定义了一个str变量,当你执行:System.out.println(str);时,这条语句里的str其实是你在main函数中定义str变量。所以显示:1234
happyperson
2009-09-09
打赏
举报
回复
public static void changeStr(String str){
str="welcome";
}
此方法中的str是一个局部变量 只是传值作用。
dajiadebeibei9
2009-09-09
打赏
举报
回复
因为String str="1234"; 是main方法中的局部变量
str="welcome"; 是changeStr中的局部变量
两个相互不影响
java中没有不能传地址 只有值传递
yuhongpingimu
2009-09-09
打赏
举报
回复
wushibuxiaobaibu。
加载更多回复(16)
【通义千
问
菜鸟
集成黄金窗口期】:为什么头部快递公司都在Q3完成对接?3个不可逆的技术拐点曝光
本文剖析头部快递公司在Q3集中完成通义千
问
与
菜鸟
系统集成背后的三大不可逆技术拐点:实时路由决策的毫秒级临界点、运单结构化能力跃迁、边缘智能终端就绪度爆发。深入阐述大模型轻量化(MoE+INT4量化)、多模态语义理解(OCR-NLP-时序联合建模)、千
问
Agent工作流引擎与OpenAPI深度耦合、增量式RAG知识图谱更新、混合云服务治理等关键技术落地实践,聚焦物流AI原生架构演进。
《
菜鸟
理财100
问
》笔记
本文探讨了工作的重要性,如何应对职业危机,理财建议,包括储蓄、理财规划,以及在不同阶段的人生决策。还提到了适婚人群的思考和杠杆经济学在财务中的应用。
为什么你的通义千
问
-
菜鸟
集成总在预发环境崩溃?12类高频异常日志对照表+阿里云SRE团队应急checklist(2024最新版)
本文聚焦通义千
问
与
菜鸟
系统在预发环境的集成故障,涵盖环境变量覆盖失效、证书链校验差异、连接池错配等高频异常根因;深入解析调用链路、API契约校验、Mock隔离、租户上下文透传及RocketMQ幂等性压测;提供12类异常日志定位逻辑与阿里云SRE应急checklist,包括黄金指标巡检、三阶健康探针、网关熔断校准及TraceID全链路串联策略。
菜鸟
第一
问
本文探讨了网页源码加密的方法及其对页面显示的影响,解释了浏览器如何解析加密后的源码,确保页面正常呈现。
八
问
八答,解剖“
菜鸟
”
马云推出“
菜鸟
”网络,旨在打造覆盖全国的智能物流骨干网,实现24小时必达的目标。通过规模效益与专业分工,整合快递资源,降低成本并提高效率。文章探讨了
菜鸟
网络的运营模式及其对物流行业的影响。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章