咨询:两个给定泛型语句的差异及y与y1对象的区别
泛型语句差异与对象区别解析
嘿,想要搞清楚这两个问题,得麻烦你把对应的代码片段贴出来哦!
先说泛型语句的差异:不同的泛型写法(比如带具体类型、通配符、上下界的声明),在类型安全、可调用的方法范围、赋值规则上都可能有天差地别——比如List<String>和List<? extends CharSequence>,前者只能存String类型的元素,后者能存任何CharSequence的子类,但读取元素时只能当成CharSequence类型处理。
再说说y和y1的区别:如果代码能正常编译运行但你看不出二者区别,大概率是它们的逻辑值相等,但对象身份不同(比如用new String("test")和直接"test"创建的字符串实例);也有可能是泛型参数不同,但因为Java的泛型擦除机制,运行时类型看起来一致,不过编译时的类型检查规则是不一样的。
所以把具体的泛型语句和y、y1的定义代码放上来,我就能给你拆解得明明白白啦!
内容的提问来源于stack exchange,提问作者Rishab Shinghal
相关产品推荐
相关产品推荐

