24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2664  |  回复: 21

neukdq

铁虫 (小有名气)


[交流] 【求助】Java里面这句话该怎么理解

大家好,我是Java的初学者,我在学习String字符串类型的时候,看到有一句话“String 不是原始的数据类型,而是一个类。”,请问这句话该怎么理解啊?谢谢指教啊。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

swb1207

至尊木虫 (著名写手)


★ ★
neukdq(金币+5): 2011-02-22 22:15:12
余泽成(金币+2): 谢谢参与应助! 2011-02-27 14:59:27

string是C++库定义的一个类 string类封装了char 定义了更多操作字符串的方法 string算是一个类型吧
2楼2011-02-22 14:43:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★
neukdq(金币+5): 2011-02-24 09:57:30
余泽成(金币+2): 谢谢参与应助! 2011-02-27 14:59:36
java的基本数据类型并没有string,string是定义在java.lang下的一个类
3楼2011-02-23 02:10:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

十三月如豆

金虫 (小有名气)


★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+5): 谢谢参与应助!欢迎常来程序语言版! 2011-03-20 16:38:24
既然是类,那么就有属性和操作(及方法),作为String类,属性就是包含的字符,
操作有很多
1.substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)

2.concat() 连接两个字符串

3.replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l',’w');
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)
4.   trim() 去掉起始和结尾的空格
5.   valueOf() 转换为字符串
6    .toLowerCase() 转换为小写
7.    toUpperCase() 转换为大写
8.    length() 取得字符串的长度
等等。。。。。。

而作为原始类型,比如int ,long ,double,char,float,bye 等,是没有这些方法的

但是java提供了相应的基本类型的包装类,

比如int  型的 有Integer  ,Integer  a = new Integer(1);
double 的有 Double  

等等。。。

楼主,不知道 这个够不够清楚
4楼2011-03-14 21:23:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+1): 欢迎常来,呵呵 2011-03-23 23:23:46
引用回帖:
Originally posted by swb1207 at 2011-02-22 14:43:39:
string是C++库定义的一个类 string类封装了char 定义了更多操作字符串的方法 string算是一个类型吧

楼主说的是java,不是c++......
5楼2011-03-14 21:49:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

维江

金虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
cenwanglai(金币+1): 欢迎常来程序语言版块 2011-03-23 23:24:11
java 中有String类,不是类型
6楼2011-03-23 20:14:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Thornfighter

木虫 (著名写手)


★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
微尘、梦想(金币+2): 谢谢回复,欢迎常来程序语言版…… 2011-04-05 10:05:17
Java语言的数据类型可以分为两种:基本数据类型和引用类型
    基本数据:类型包括数值型和非数值型,数值型包括四种整型(byte、short、int、long)和两种浮点型(float、double),非数值型包括字符型(char)和逻辑型(boolean)。
    引用类型也可以称为类类型,包括系统提供的类(JFC,Java基本类库)和用户自定义的类。String就是属于系统提供的类,具体位于java.lang包中。
7楼2011-03-28 17:43:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wotuxiele

铁虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-05-26 01:33:25
在java.lang.String包中有String类,在定义字符串时,可以看作在实例化一个S
8楼2011-05-25 23:31:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wotuxiele

铁虫 (初入文坛)



jjdg(金币+1): 感谢参与 2011-05-26 01:33:32
String类的对象
9楼2011-05-25 23:32:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

水月冬天

铁虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-01-10 00:51:10
嗯,都感觉有理!其实就是类下的一个实例!再用实例,调用相关方法!
10楼2012-01-09 15:33:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sorata

铁虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-01-11 01:25:52
类也是一种数据类型,java提供很多已经定义好的类类型,用户也可以自己定义自己的类类型,类类型和基本类型的区别除了有形式上的不同外,在对变量分配存储空间时也有所不同,弄清什么是类,就会明白String为什么是类而不是基本类型。
11楼2012-01-10 12:19:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

维江

金虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-01-13 01:41:24
String在java中一个类,你可以看它的首字母,首字母大写就是类,java中的基本数据类型为int,char,float等等,明白?
12楼2012-01-12 11:01:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贪吃的虫子

新虫 (初入文坛)


★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2012-01-24 22:15:53
jjdg(金币+1): 春节快乐 2012-01-24 22:16:04
Java中数据类型分为基本数据类型和引用类型
基本数据类型有8中整型有byte型,short型,int型和long型,浮点型有float型和double型,还有字符型和布尔型。其他都是引用类型,如String类型。所以String 不是原始的数据类型。String是一个类,里面有很多方法,如toCharArray方法。
13楼2012-01-24 16:46:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

空指针

铁虫 (初入文坛)



小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 谢谢参与应助! 2012-02-17 23:10:53
个人愚见:String 是一个封装类,是一个对象。类似于Integer。Integer和int的区别是:Integer是int的封装类;integer 是对象,用一个引用指向这个对象;Integer 是一个类,是int的扩展,定义了很多的转换方法。楼主可以引申到String中去。
14楼2012-02-15 12:44:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

freesian

金虫 (小有名气)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 鼓励应助,欢迎常来程序语言版! 2012-03-04 06:15:10
引用回帖:
5楼: Originally posted by sudo at 2011-03-14 21:49:25:
楼主说的是java,不是c++......

java 就是对 C++封装,底层是汇编,然后是c、c++,接着就是java
15楼2012-02-29 21:33:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxhgzq850104

金虫 (小有名气)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+1): 谢谢参与应助! 2012-03-04 06:15:32
在java.lang.String包中有String类.
16楼2012-03-03 23:26:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 谢谢参与应助! 2012-03-11 23:29:55
引用回帖:
15楼: Originally posted by freesian at 2012-02-29 21:33:17:
java 就是对 C++封装,底层是汇编,然后是c、c++,接着就是java

就算JVM是用C++写的,用封装这个词也不妥当

关于封装Encapsulation的语义:
http://en.wikipedia.org/wiki/Enc ... iented_programming)

对于运行在不同层级的JAVA程序和C++程序而言,这个不叫封装。不然就可以说所有程序都是机器二进制码的“封装”了~

17楼2012-03-05 09:57:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zpp19891016

金虫 (正式写手)



小木虫(金币+0.5):给个红包,谢谢回帖
强烈支持13楼,这位同学说的很对。就像Integer和int,String和Integer一样,封装了很对方法供使用
18楼2012-03-09 22:13:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lovingstudy

新虫 (小有名气)


原始数据类型,指的是int,double这样的基本数据类型。虽然我们平时声明String时和int是一样的,但它们有本质上的区别。比如String s; int n。这样声明了之后系统给s赋值是null,而给n赋值是0。其实也很容易理解,int类型是有固定长度的,初始值把所有位都设成0很方便;但String在声明的时候系统怎么会知道它要用多少内存空间呢?只好给它个空指针了。而且从大小写也可以看出来,java里的类都是首字母大写的,正如String,Integer。你使用Integer n=new Integer();和int n;是一个效果。
19楼2012-04-15 23:54:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

witzgf

银虫 (小有名气)


8楼说的对。
20楼2012-11-05 11:46:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tsplaycool

新虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
String 是一个对象,跟你自己写的一个类,一种意思,String a,只是在栈内存申请了空间,而你new的时候,在堆内存申请的空间。而你的int a,直接把数据存在了栈内存中
21楼2012-12-24 23:12:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_小强

铁虫 (初入文坛)



小木虫: 金币+0.5, 给个红包,谢谢回帖
String 是java的一个基本类
22楼2012-12-25 18:25:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 neukdq 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见