永发信息网

关于JAVA中的Stack.pop()

答案:4  悬赏:20  手机版
解决时间 2021-11-11 11:37
关于JAVA中的Stack.pop()
最佳答案
1、
Object是java里面所有类的超类,而Object中有一个方法叫toString(),所以java中所有类都会有这个方法。
x=x+s.pop();
这里s.pop()是一个Object类型的对象,当其与String相“+”时,系统会自动调用Object的toString()方法将其转成String表示。
例如,假如你重载toString方法:
class MyObject{
public String toString(){//重载方法
return "This is class MyObject.";
}
}
那么
MyObject obj = new MyObject();
System.out.println(obj);
System.out.println(obj.toString());这两句实质上是一样的。

2、另外,根据jdk1.6泛型的标准,你所使用的Stack类型是有问题的,应该为:
Stack stack = new Stack();
这样,你push入去的和pop出来的都是String类型而不会是其他类型了。
^_^
全部回答
这个属于一个比较基本的问题,String是支持“+”运算符的,同时String还具备另一个特点,相信你比较常用这种方式String str = ""+10;10是整型的,怎么能和String的做加呢?String会默认讲这种基本数据类型转化为String的做连接。那么,复合数据类型就是调用该复合数据类型的toString方法再做连接。
在JAVA中,把String当做了一个非常基本的数据类型,以至于任何类型都可以转化为String
不知道你听没听过这句话:万物皆对象
在JAVA里所有的类都是继承自OBJECT类,而OBJECT类中有一个方法是toString()就是返回改OBJECT的字符表示,下面是JDK中的源码
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
还有就是在JAVA中如果遇到了将一个类软化为String时,这个类会自动调用toString()方法

class Test{
String name;

public String toString(){
return "aaaa";
}
}
public class Test1 {
public static void main(String[] args) {
System.out.println(new Test());
}
}
运行将输出"aaaa"
字符串 + 的运算是连接的意思
即,把两个字符串连接在一起。
以你的代码为例:
String x = "aaa";
String b = "bbb";
x = x + b;
那么x的值是
aaabbb
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
身高185 本科学历 有车有房 长的还可以 为什
k4236次火车始发站是哪里。终点在哪里 经不经
东莞大朗镇东逸湾花园有导航吗
职场上太不公平了
80钻床最大制孔直径是多少,直径95的孔可以加
0.19比0.3化简下面各比
台湾电影《典妻》中的插曲是什么歌
求豚鼠系列百度云6部
长豆炒肉丁怎么做好吃,长豆炒肉丁的家常做法
沃格英语(青浦中心)地址在什么地方,我要处理
我干了一年多了摄影助理、想出去应聘摄影师
大型品酒会的流程是怎么样的?摆成什么样的台
跑步时大腿前面痛 怎么办
姐妹美发厅地址在什么地方,想过去办事,
651从塘沽首发几点
推荐资讯
行人在非机动车道被电瓶车撞了,是谁的责任
碱集料反应应该怎么理解,有高手解释一下吗
农村谁种植谁受益什么意思
红和饭店停车场地址好找么,我有些事要过去,
金币商城使用方法,TST庭金币怎么用
公司销售货物出去,客户不要发票,请问如何处
祖国历史上的辉煌成就要10条
清澈如水的眼神 。 眼神笑容充满美好,没有一
通辽哪家理发店剪的好 除了三千丝
惹天蝎座女孩生气了怎么办!
内墙腻子为什么有两种颜色
身为犯罪嫌疑人能为他人借款作担保?有效吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?