通过(String)进行强制类型转换的问题

通过(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回答
好帮手慕小尤 2021-02-20 13:45:45

同学你好,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。

祝学习愉快!

  • 提问者 慕侠3588074 #1

    感谢老师的回答!!还有点疑问

    ServletContext context = request.getServletContext();

    context.setAttribute("copyright", "@ 2018 imooc.com 京备 xxxx");

    ​context.setAttribute("title", "慕课网-程序员的梦工厂");


    上边setAttribute设置copyright 为 “...字符串”

    然后context.getAttribute("copyright") 获取的 不同样是 “...字符串” 吗?
    如果 获取的是 Object对象 { key:value } 那key , value的值又分别是什么呢?


    2021-02-23 00:21:46
  • 好帮手慕小尤 回复 提问者 慕侠3588074 #2

    同学你好,1、getAttribute()方法是根据key值返回value值,但在定义此方法时,返回类型是Object类类型,所以在将其数据赋值给String类型时,需要进行强制转换。如下图所示:

    http://img1.sycdn.imooc.com//climg/603463b20946880207030159.jpg

    2、key和value代表键和值,同学可以想象成两个值一一对应。

    祝学习愉快!

    2021-02-23 10:13:06
  • 提问者 慕侠3588074 回复 好帮手慕小尤 #3

    谢谢!老师

    2021-02-24 23:31:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师