java 参数地址传递改变值 请教了

我现在写一个共同方法publicstaticvoidgetPageKbnFlag(HttpServletRequestrequest,StringkinouId,Stri... 我现在写一个共同方法
public static void getPageKbnFlag(HttpServletRequest request,
String kinouId, String dnpSyuKbn, String shoriKbn,
String gyomuSyuKbn) throws LogicExecuteException {
//有一些处理。下面是一个返回值。
gyomuSyuKbn = syuKbnLogic.getGyomuSyuKbn();
我的想法是把,gyomuSyuKbn 取得的值返回去。
展开
 我来答
卡丁车①号f725adc
2011-08-17 · TA获得超过174个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:157万
展开全部
往该方法中再传递一个对象bean,该bean用来保存gyomuSyuKbn 的值,在getPageKbnFlag通过setter设置gyomuSyuKbn = syuKbnLogic.getGyomuSyuKbn();得到的值,记得不要在getPageKbnFlag中new 这个bean,应该直接传进这个方法后,直接使用,否则会将引用指向新的对象,被调用方法是取不到值的,最后在调用方法中使用getter方法得到值;
====================================================

java中传递参数的时候,都是参数的一份拷贝而已,基本类型因为拷贝就是参数本身,所以基本类型传递是不会改变参数值的,而对象传参,传的是引用,引用的拷贝还是指向原参数对象,如果在方法中没有将该引用拷贝指向其它对象,则能改变参数(对象)的值。

以下不能改变
public void change(Person person)
{
person = new Person(); //引用指向对象改变,参数值不会变
}

以下能改变
public void change(Person person)
{
person.setName(""); //引用指向对象没有改变,参数值不会变
}

给你一篇文章,仔细体会一下:
http://blog.sina.com.cn/s/blog_4df91b180100nozy.html
cs6641468
2011-08-17 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:991万
展开全部
这种返回很简单啊,两种方法:
方法一:
首先确定gyomuSyuKbn类型,假设是String类型,直接在类里面定义一个参数。
Class XX{
String gyomuSyuKbn=null;
public static void getPageKbnFlag(HttpServletRequest request,
String kinouId, String dnpSyuKbn, String shoriKbn,
String gyomuSyuKbn) throws LogicExecuteException {
……
gyomuSyuKbn = syuKbnLogic.getGyomuSyuKbn();
}
}
方法二:
首先确定gyomuSyuKbn类型,假设是String类型,那就改写一下你的方法(让其返回一个String):
public static String getPageKbnFlag(HttpServletRequest request,
String kinouId, String dnpSyuKbn, String shoriKbn,
String gyomuSyuKbn) throws LogicExecuteException {
gyomuSyuKbn = syuKbnLogic.getGyomuSyuKbn();
return gyomuSyuKbn; }

在外面获得这个值
String gyomuSyuKbn =getPageKbnFlag(req,kinouId,dnpSyuKbn,shoriKbn,gyomuSyuKbn)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lc19920606
2011-08-17 · TA获得超过561个赞
知道答主
回答量:338
采纳率:100%
帮助的人:290万
展开全部
public static String getPageKbnFlag(HttpServletRequest request,
String kinouId, String dnpSyuKbn, String shoriKbn,
String gyomuSyuKbn) throws LogicExecuteException {
gyomuSyuKbn = syuKbnLogic.getGyomuSyuKbn();
return gyomuSyuKbn;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自法海寺文明的栀子花
2011-08-17 · 超过13用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:35.9万
展开全部
java的参数传递方式是传值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式