当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 1. 首先String不属于8种基本数据类型,String是一个对象。
 

 

 ·java建立zip压缩文件    »显示摘要«
    摘要:import java.io.*;import java.util.zip.*;class zip {public static void main(string args[]) throws ioexception {byte b[] = new byte[512];zipoutputstream zout = new zipoutputstream(system.out);for(int i = 0; i < args.length; i ++)......
 ·60秒倒计时的一个小javascript    »显示摘要«
    摘要:<table name=agree border="0" cellpadding="10" cellspacing="0" align=center width="80%"><tr align=center><td width="50%" align="right"> <form name=register method=post action=reg_shang.asp?action=yes><inp......


全面解析Java中的String数据类型

1. 首先string不属于8种基本数据类型,string是一个对象。

【相关文章:Adaptec:杭州学军中学iSCSI存

【扩展阅读:HyperSCSI vs iSCSI

因为对象的默认值是null,所以string的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 【扩展信息:浪潮:ISCSI存储系统解决方案

2. new string()与new string(“”)都是申明一个新的空字符串,是空串不是null;

3. string str=”kvill”;

string str=new string (“kvill”);的区别:

在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。

常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。

看例1:

string s0=”kvill”;

string s1=”kvill”;

string s2=”kv” + “ill”;

system.out.println( s0==s1 );

system.out.println( s0==s2 );

结果为:

true

true

首先,我们要知结果为道java会确保一个字符串常量只有一个拷贝。

因为例子中的s0与s1中的”kvill”都是字符串常量,它们在编译期就被确定了,所以s0==s1为true;而”kv”与”ill”也都是字符串常量,当一个字符串由多个字符串常量连接而成时,它自己肯定也是字符串常量,所以s2也同样在编译期就被解析为一个字符串常量,所以s2也是常量池中”kvill”的一个引用。

所以我们得出s0==s1==s2;

用new string() 创建的字符串不是常量,不能在编译期就确定,所以new string() 创建的字符串不放入常量池中,它们有自己的地址空间。

看例2:

string s0=”kvill”;

string s1=new string(”kvill”);

string s2=”kv” + new string(“ill”);

system.out.println( s0==s1 );

system.out.println( s0==s2 );


...   下一页
    摘要:在java中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧来造成运动的感觉java 不仅提供了对图形、图像的支持,还允许用户实现连续的图像播放,即动画技术。java 动画的实现,首先用ava.awt 包中的 graphics 类的drawimage()方法在屏幕上画出图像,然后通过定义一个线程,让该线程睡眠一段时间,然后再切换成另外一幅图像;如此循环,在屏幕上画出一系列的帧来造成运动的感觉,从而达到显示动画的目的。 为了每秒......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE