黑马程序员技术交流社区

标题: 如何取出hashcode表示的String [打印本页]

作者: shi0000    时间: 2014-4-22 11:30
标题: 如何取出hashcode表示的String
如果List<Integer>集合中存入的是String的hashcode值,怎样在输出时根据hashcode输出String?
作者: 二小傻    时间: 2014-4-22 12:02
不清楚啊,java有没有指针,也许不能从内存地址指向数据吧,而且还有垃圾清除机制
作者: osully    时间: 2014-4-22 13:13
据我理解   这是不可能的吧   
作者: kuroro自走核炮    时间: 2014-4-22 13:57
import java.util.*;

class Demo4
{
        public static void main(String[] args)
        {                  
                ArrayList<Integer> list = new ArrayList();
                                list.add(56);
                                list.add(86);
                                list.add(26);
                                list.add(32);
                                Iterator it = list.iterator();
                                while(it.hasNext())
                                {
                                        Object y =it.next();
                                        int x = Integer.parseInt(String.valueOf(y));
                                       
                                        System.out.println((char)x);
                                       
                                }       
        }
}
这个方法可以把hashcode转成char类型,有char类型就可以搞出String类了,看上去是这样,但真的如此么?
这里需要面对一个问题:两个内容不同的字符串hashcode值是有可能相同的!
                        int hash1 = "ABCDEa123abc".hashCode();
                        int hash2 = "ABCDFB123abc".hashCode();
                        System.out.println(hash1);
                        System.out.println(hash2);
这个就是一个情况。
所以一个hashCode值是有可能对应出多个内容String字符串的。因此我觉得楼主的要求不可能做到。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2