##A question, Why????##

wangfengsdu 2003-10-19 03:16:01
用java编译下面两句的时候,
为什么第一个通过,
第二个通不过.

String s = "abcd";(OK)
Character c = 'c';(ERROR!!!)
...全文
10 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liybrn 2003-10-20
回复人: wangfengsdu(wangfeng) ( ) 信誉:100

我当然知道我脑子灌水了,
我还知道好多种脑子灌水的方法。
我就是想问问为什么灌水了?
回复
truezerg 2003-10-20
to: wangfengsdu (wangfeng)

你脑袋灌水了吧?

回复
jscsqb 2003-10-20
……………………
回复
mortal 2003-10-20
只要是相同的类,就可以相互“赋值”
回复
danceflash 2003-10-20
Java只对 String 类作了运算符重载等特殊处理
所以可以使用: String s = "444"; 这样的语句

但是其他的类根本没有做这样的处理,所以其他类只能按照类的标准语法使用
所以像 Character 这样的类当然不能直接赋值了
只能用类似这样的语句: Character cc = new Character('c');
回复
TonyTonyQ 2003-10-20
楼主挺幽默的阿
基本功要练好呢。
回复
mortal 2003-10-20
楼主,你还没弄清楚基本定义啊。JAVA里面有8种简单数据类型,包括char,而Character是类,它们当然是不能直接赋值的,因为一个类你必须实例化以后才能用(用new,分配空间)

然后说String,它也是类;“***”这也是String型,它们之间就可以赋值了

wo kao,回答完以后才发现,没分数啊:(
回复
truezerg 2003-10-20
truezerg(赵明宇) 与 liybrn(迷茫) 热烈的拥抱在一起相互说到: 合作愉快
回复
truezerg 2003-10-20
truezerg(赵明宇) 与 liybrn(迷茫) 热烈的拥抱在一起相互说到: 合做愉快
回复
truezerg 2003-10-20
truezerg(赵明宇) 与 liybrn(迷茫) 热烈的拥抱在一起
回复
Muzhu 2003-10-20
你是一个很古怪的学生。
问天上为什么只有星星,为什么没有我的眼睛。
回复
wangfengsdu 2003-10-19
这些我当然知道.
我还知道好几种写法呢...
String s = "abcd";
String s = new String("abcd");

char c = c;
Character cc = new Character('c');
Character cc = new Character(c);

我只是想,形式为什么不统一呢?
回复
jscsqb 2003-10-19
Character c = new Character('c');
多看看api文档。
回复
wangfengsdu 2003-10-19
我当然知道上面的可以,
我就是问问上面的两个格式都差不多,
为什么一个可以,一个不可以.
回复
jscsqb 2003-10-19
char c='c';
回复
发帖
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2003-10-19 03:16
社区公告
暂无公告