免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2169 | 回复: 17
打印 上一主题 下一主题

问一个String[]的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-04 10:04 |只看该作者 |倒序浏览
String[] abc = new String[]{"abc","aaa","ccc"};
                String[] bbb = new String[]{"abc","aaa","ccc"};
                if(abc.equals(bbb))
                        System.out.println("equal";
                else
                        System.out.println("not equal";


结果为什么是"not equal"?

我现在想判断两个数组是否包含相同元素,而不考虑顺序问题,有现成的方法可以调用么?

论坛徽章:
0
2 [报告]
发表于 2005-04-04 10:44 |只看该作者

问一个String[]的问题!

abc 和bbb变量是指向两个不同的地址, 所以不会相等。

论坛徽章:
0
3 [报告]
发表于 2005-04-04 10:45 |只看该作者

问一个String[]的问题!

Arrays.equals(Object[], Object[])

论坛徽章:
0
4 [报告]
发表于 2005-04-04 11:15 |只看该作者

问一个String[]的问题!

我记得 ==是用来比较类型和地址是否一致的啊
equals方法是比较类型和内容是否一致的

论坛徽章:
0
5 [报告]
发表于 2005-04-04 12:48 |只看该作者

问一个String[]的问题!

To大法师:
                String[] abc = new String[]{"abc","aaa","ccc"};
                String[] bbb = new String[10];
                bbb[0] = "aaa";
                bbb[1] = "ccc";
                bbb[2] = "abc";
                Arrays.sort(abc);
                Arrays.sort(bbb);
                if(Arrays.equals(abc,bbb))
                        System.out.println("equal";
                else
                        System.out.println("not equal";


这样会出空指针异常,改为String[] bbb = new String[3];就正常了,请问如何做才能让我在定义String[] bbb = new String[10];时正常通过?

论坛徽章:
0
6 [报告]
发表于 2005-04-04 16:50 |只看该作者

问一个String[]的问题!

bbb数组中内容根本不兼容,前三个元素有值,后面都是null,如何sort!
即使sort过了。长度不同的数组比较,也得不出相等的结果!

论坛徽章:
0
7 [报告]
发表于 2005-04-04 21:47 |只看该作者

问一个String[]的问题!

长度不同的数组是不相等的。所以如果一定要写这句: String[] bbb = new String[10];
只能是自己一个一个元素得来对比两个数组了,没有别的方法了。

论坛徽章:
0
8 [报告]
发表于 2005-04-04 23:31 |只看该作者

问一个String[]的问题!

equals(Object anObject)
这个方法是用来比较两个对象之间是否相等的,我们知道在java中,象:
String[] abc = new String[]{"abc","aaa","ccc"};
String[] bbb = new String[]{"abc","aaa","ccc"};
是产生了两个字符串对象,只是他们是属于同一个类而已。在java中,产生对象的过程也就是开辟内存空间的过程,象上面两行是相继开辟了两个不同的内存地址给abc和bbb,要比较这样两个内存地址,当然是不一样了,要是一样,那就不得了了。
在下愚见。

论坛徽章:
0
9 [报告]
发表于 2005-04-05 07:36 |只看该作者

问一个String[]的问题!

String类重载了equals方法,只要内容相同,就是相等的

论坛徽章:
0
10 [报告]
发表于 2005-04-05 10:38 |只看该作者

问一个String[]的问题!

[quote]原帖由 "sakulagi"]String类重载了equals方法,只要内容相同,就是相等的[/quote 发表:

大天使的意思是?
但是我使用equal(obj)进行测试,上面的abc和bbb就是不一样的啊
就算我换做:
if(abc==bbb)
System.out.println("equal";
else
System.out.println("not equal";
他还是不相等的,真的是只要内容相等,就是相等的吗?混了:(
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP