关于JAVA中的Stack.pop()
答案:4 悬赏:20 手机版
解决时间 2021-11-11 11:37
- 提问者网友:缘字诀
- 2021-11-10 20:44
关于JAVA中的Stack.pop()
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-11-10 22:03
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类型而不会是其他类型了。
^_^
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
这样,你push入去的和pop出来的都是String类型而不会是其他类型了。
^_^
全部回答
- 1楼网友:大漠
- 2021-11-10 23:28
这个属于一个比较基本的问题,String是支持“+”运算符的,同时String还具备另一个特点,相信你比较常用这种方式String str = ""+10;10是整型的,怎么能和String的做加呢?String会默认讲这种基本数据类型转化为String的做连接。那么,复合数据类型就是调用该复合数据类型的toString方法再做连接。
- 2楼网友:想偏头吻你
- 2021-11-10 23:06
在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"
不知道你听没听过这句话:万物皆对象
在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"
- 3楼网友:不如潦草
- 2021-11-10 22:26
字符串 + 的运算是连接的意思
即,把两个字符串连接在一起。
以你的代码为例:
String x = "aaa";
String b = "bbb";
x = x + b;
那么x的值是
aaabbb
即,把两个字符串连接在一起。
以你的代码为例:
String x = "aaa";
String b = "bbb";
x = x + b;
那么x的值是
aaabbb
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯