谁能够详细讲解一下下面java代码中为什么还是输出“1234”?

问题描述

publicclassTest1{publicstaticvoidchangeStr(Stringstr){str="welcome";}publicstaticvoidmain(String[]args){Stringstr="1234";changeStr(str);System.out.println(str);}}

解决方案

解决方案二:
changStr只是修改了传入的形惨没有改变Stringstr="1234"的值
解决方案三:
你输出的str是你main函数里定义的你调用的函数没有返回值,所以输出当然是1234你的str算是个局部变量至在main函数里有效。你的changeStr里的str只是main函数给他传过去的一个形参。
解决方案四:
publicstaticvoidchangeStr(Stringstr){str="welcome";}这里只是把参数str指向了另外一个String对象了,main中的对象指向没有发生改变,所以值还是1234
解决方案五:
Stringstr="1234";changeStr(str);System.out.println(str);changeStr(str)这句传进去的是str这个变量的值而这个值是指向"1234"的引用,并没有把str这个变量的地址传进去,所以不管changeStr()这个方法里干了什么,str这个变量的值不会变即还是指向"1234"的引用
解决方案六:
引用4楼cjay124的回复:

Stringstr="1234"; changeStr(str); System.out.println(str);changeStr(str)这句传进去的是str这个变量的值而这个值是指向"1234"的引用,并没有把str这个变量的地址传进去,所以不管changeStr()这个方法里干了什么,str这个变量的值不会变即还是指向"1234"的引用

最详细!顶
解决方案七:
引用3楼chdw的回复:

  publicstaticvoidchangeStr(Stringstr){     str="welcome";   }这里只是把参数str指向了另外一个String对象了,main中的对象指向没有发生改变,所以值还是1234

详细
解决方案八:
java里没有地址传递,要深刻理解。
解决方案九:
嗯,概念又加深了。

时间: 2024-09-20 06:09:46

谁能够详细讲解一下下面java代码中为什么还是输出“1234”?的相关文章

android-Android:求大神帮我详细讲解一下这段代码

问题描述 Android:求大神帮我详细讲解一下这段代码 private void clearPackagePreferredActivities(Context context String packageName) { PackageManager mPm = context.getPackageManager(); UserManager mUserManager = (UserManager)context.getSystemService(Context.USER_SERVICE);

字体颜色-android java代码中设置radiobutton选中与为选中颜色

问题描述 android java代码中设置radiobutton选中与为选中颜色 tab_rb_b.setTextColor(MainActivity.this.getResources().getColor(R.drawable.main_text_color)); 其中R.drawable.main_text_color是自己写好的 颜色改变的xml <!-- not selected --> 但是设好之后 颜色并没有随选中而改变,只是一直都是为选中状态的颜色. 哪位大神知道是怎么回事吗

colors-无法实现在java代码中设置radiobutton颜色变换

问题描述 无法实现在java代码中设置radiobutton颜色变换 我在res/color文件夹下写了一个selector,在java中setTextColor引用时无效果. 本人新手,还请各位大大指教~ 以下是关键代码 res/color/textcolor.xml <?xml version="1.0" encoding="utf-8"?> <item android:state_checked="true" androi

android 如何在java代码中方便的调用xml写的布局??

问题描述 android 如何在java代码中方便的调用xml写的布局?? 我想在activity刷新的时候重新生成一些xml写的布局,并放在 "求学"那一栏下: 想问一下有没有什么方便的方法??? 解决方案 可控的话 先加载求学哪里 先设visible为gone. 需要的时候设置为visible 解决方案二: 楼上说得对,先把控件实例化然后把visiblity设为gone 然后调用刷新按钮的时候吧实例传过去,再重新设置visiblity 解决方案三: 一种是隐藏然后显示,最好是用动态

java代码中运行doc命令

问题描述 java代码中运行doc命令 我想要在我的Java代码中运行一段doc命令,然后将正常在doc窗口输出的信息取出来,这个信息应该怎么获取,求助各位大神 解决方案 java doc运行命令 解决方案二: http://developer.51cto.com/art/201107/273282.htm

怎样在java 代码中通过ftp协议实现远程压缩文件 哪位指点一二,小弟不胜感激呀

问题描述 具体情况是这样的: 服务器端有好多xml文件有几个G,在客户端要下载下来,由于文件太大,若加上网络不好,就会下载失败. 考虑到xml文件压缩后会少的很多,就想在下载前将其压缩, 问题就在 怎样在客户端通过ftp协议将服务器端的xml文件压缩呢? 现在用的是commons-net 链接的 各位朋友都说说有啥好的解决方案莫 问题补充:能否通过写sheel脚本来执行服务器上的xml文件压缩呢? 若能实现,怎样在java代码中 执行sheel脚本 让其压缩服务器上的文件呢 解决方案 这个从理论

使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4

以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host, port); List<MongoCredential> mongoCredentialList = new ArrayList<MongoCredential>(); mongoCredentialList.add(MongoCredential.createMongoCRCre

在下面这段java代码中,怎么获取文件大小 ,如果再加上图片尺寸更好。

问题描述 在下面这段java代码中,怎么获取文件大小 ,如果再加上图片尺寸更好. public static List> uploadFile(HttpServletRequest request, String[] params, Map values) throws Exception { List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); Multipa

在java代码中如何取到sqlserver中的“select datediff(day,&amp;amp;#x27;2014-01-01&amp;amp;#x27;,&amp;amp;#x27;2014-09-01&amp;amp;#x27;)”的值

问题描述 在java代码中如何取到已连接的sqlserver中的"selectdatediff(day,'2014-01-01','2014-09-01')"的值,因为在这个查询语句中没有产生普通的结果集所以没法取?求大神帮忙解决?先谢谢了 解决方案