A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吃饭工作睡觉 中级黑马   /  2015-11-4 10:40  /  4949 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2黑马币
在学习字符串的时候,有一个字符串常量池?有没有其他的常量池啊?

最佳答案

查看完整内容

http://qurtyy.blog.163.com/blog/static/574436812012212148291/ 这个博客说得很清楚,也看得懂,希望能帮到你。

15 个回复

倒序浏览
http://qurtyy.blog.163.com/blog/static/574436812012212148291/

这个博客说得很清楚,也看得懂,希望能帮到你。
回复 使用道具 举报
可以说,只要final 修饰的 成员 都是在 常量池  中
回复 使用道具 举报
楼上说的对  String也是被final修饰的
回复 使用道具 举报
Integer 有一个byte常量池.
这个面试貌似面试也经常问
回复 使用道具 举报
这个问题有点复杂 百度有很多帖子
回复 使用道具 举报
黑马,你的骄傲 发表于 2015-11-4 18:48
可以说,只要final 修饰的 成员 都是在 常量池  中

因为8中基本类型都是final修饰的,那就都在常量池中么?
回复 使用道具 举报
redsifei 发表于 2015-11-4 20:42
Integer 有一个byte常量池.
这个面试貌似面试也经常问

除了这个没有其他了?
回复 使用道具 举报
是不是所有被定义为常量的都放在常量池
回复 使用道具 举报
keaitao0321 发表于 2015-11-5 12:04
是不是所有被定义为常量的都放在常量池

我也在想这个问题呢。
回复 使用道具 举报
不仅仅是字符串  像 Integer Char Byte这些包装了,也是采用了常量池技术
回复 使用道具 举报
dengwenjing58 发表于 2015-11-5 22:40
不仅仅是字符串  像 Integer Char Byte这些包装了,也是采用了常量池技术
  1. public class Test {

  2.         public static void main(String[] args) {
  3.                 Integer i3 = 333;
  4.                 Integer i4 = 333;
  5.                 System.out.println(i3 == i4);
  6.         }

  7. }
复制代码


这里面都会返回false。为什么?
回复 使用道具 举报
744919632 发表于 2015-11-6 09:05
http://qurtyy.blog.163.com/blog/static/574436812012212148291/

这个博客说得很清楚,也看得懂,希望能 ...

这个答案确实是正解!谢谢!
回复 使用道具 举报
不是所有的定义为常量的都放在常量池。应该是 编译时期就能确定 大小的常量
回复 使用道具 举报
吃饭工作睡觉 发表于 2015-11-6 09:51
这个答案确实是正解!谢谢!

互相学习。
回复 使用道具 举报
newbee 发表于 2015-11-6 13:00
不是所有的定义为常量的都放在常量池。应该是 编译时期就能确定 大小的常量 ...

对,谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马