通过(String)进行强制类型转换的问题
Sting 与其他类型的 强制转换/普通转换不太明确
与普通类型
int a = 100; float b = 100f; double c = 100;
String str =(String)a; String str1 = (String)b; String str2 = (String)c;
这种强制转换是正确或合适的吗
与引用类型
ServletContext context = request.getServletContext();
String copyright = (String)context.getAttribute("copyright");
课程视频中有提到 context.getAttribute("copyright") 获得的是一个对象?这里不应该存储形式是
copyright:"....",获取到的不应该是原来设置进去的字符串吗?
获取的是对象的话 (String)context.getAttribute("copyright"); 又是如何转换成字符串的?
获取的是对象的话 可以context.getAttribute("copyright").toString();这样获得同样的结果吗?
关于String相关的类型转换和强制转换问题比较多请老师解答,或者课程哪部分有讲解请提示我下 我再好好学习一下那部分课程
正在回答 回答被采纳积分+1
同学你好,1、基础数据类型无法直接通过强制转换,转换为String类型,同学可以通过拼接的方式进行转换。如:
int a = 100;
float b = 100f;
double c = 100;
String str =a+"";
String str1 = b+"";
String str2 = c+"";
2、是的,getAttribute这个方法是提取放置在某个共享区间的对象的,也就是获取到由setAttribute()设置的参数。
3、(String)context.getAttribute("copyright")是通过强制转换,将返回的对象强制转换为String类型。
而toString()方法返回的是这个对象的字符串表示,就像是这个对象的名字一样,任何对象都可以有自己的名字,你可以重写其toString()方法,给其赋予任意的名字。但是调用toString()方法的对象不能为 null,否则会抛出异常:java.lang.NullPointerException。
祝学习愉快!
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星