【java】基础笔试题,顺带说一下原因

如题输出什么?为什么?... 如题 输出什么? 为什么? 展开
 我来答
JoJn007
2013-04-26 · TA获得超过108个赞
知道答主
回答量:77
采纳率:0%
帮助的人:63.6万
展开全部
结果:
sql = select * from test
today
3
一般有疑问的应该是第二个方法的输出结果吧。这就是java面试提中经常遇到的方法参数的值传递与引用传递的问题。
其实String就相当于是char[]的包装类。包装类的特质之一就是在对其值进行操作时会体现出其对应的基本类型的性质。
在参数传递时,包装类就是如此体现的。所以,对于String在这种情况下的展现结果的解释就自然而然得出了。同样的,Integer、Float 等这些包装类和String在这种情况下的表现是相同的。

java的参数传递本质上都可以认为是值传递,对基本类型自然不必说,对于对象类型,传递的是对象的地址,地址是个数字,也是基本类型,所以也还是值传递的。

所以想StringBuilder、List对象作为参数传递的是对象地址,结果显而易见会有所不同。
百度网友9566942
2013-04-26 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:92.5万
展开全部
sql = select * from test
today
3
我在想,主要容易出错的是那个today吧,String这个类型,需要多理解一下,和StringBuilder是不同的. 在这里把String理解为C系列语言的指针比较好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洋霄我题皮罗2976
2013-04-26 · 超过33用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:72.3万
展开全部
select * from test
today
3
调用addSql1是引用传递
调用addSql2是值传递
调用addParams是引用传递
去了解下java的池吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingideayou
2013-04-29
知道答主
回答量:50
采纳率:0%
帮助的人:10.1万
展开全部
第一句:sql = select * from test 原因:append并没有改变之前定义的字符串
第二句:today is a funny day 原因:相当于对字符串sql重新定义
第三句:params.size=2 list中有三个元素,长度从0开始计数。0,1,2所以应该为2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清风★蓝魔泪72fec
2013-04-26 · 超过12用户采纳过TA的回答
知道答主
回答量:82
采纳率:100%
帮助的人:29.8万
展开全部
select * from test

today

3

帮你运行了一下 这是答案 不过我不知道为什么 坐等大神
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式