您的位置:首页 > 编程语言 > Java开发

Java String,int,Integer,char 类型转换 ,sizeof,strlen,length的区别 .

2013-05-07 14:30 627 查看
String转int

int i = Integer.valueOf(my_str).intValue();

int i=Integer.parseInt(str);

String转Integer

Integer integer=Integer.valueOf(str);

int转String

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

int转Integer

Integer integer=new Integer(i);

Integer转String

Integer integer=String

Integer转int

int num=Integer.intValue();

String转BigDecimal

BigDecimal d_id = new BigDecimal(str);

String转char

char[] ca="123".toCharArray();

char转String

String s=ca.toString(); //任何类型都可以采用toString()转换成String类型

//-----------------日期-------------------------

Calendar calendar=Calendar.getInstance();

int year=calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH)+1;

int day=calendar.get(Calendar.DATE);

获取今天的日期字符串

String today=java.text.DateFormat.getDateInstance().format(new java.util.Date());

获取今天的日期

new java.sql.Date(System.currentTimeMillis())


//---------------------------------------

sizeof,strlen,length的区别 :



windowsAPI中,许多函数字符串参数都是char字符串数组,但是觉得string真的用起来很方便,所以就要了解它们之间的转换。

char cr1[10]="abc";//字符串数组类型,是以'\0'结尾的,可写可不写,但是必须占一个字节。

'\0'就是asc码表的里面用0代表的字符,也就是null,(如:'\101'是A)。

string str1="abc";

char转string,string str2(cr1);

str2.append(cr1);//字符串添加到末尾

str2.assign(cr1);//字符串付给本串

string转char,str1.c_str();返回的是const
char *类型,所以是不能根据这个返回的指针来修改字符串内容的。

那么我们具体怎么应用呢,

可以先把str1.c_str()用sprintf()把字符串拷贝到一个新的char数组中,当然新的字符串数组的长度要比返回的字符串长度大。

既然说到长度,就要说说sizeof和strlen的区别了。

sizeof():判断数据类型长度符。如sizeof(int)或者sizeof(i)(/i是int类型的),结果都会是一个int类型的长度(1个字长),以字节为单位,32位的系统int就是4。

注意:除了数组的名字用来做参数是数组的长度之外,其他的,不管是什么指针什么类型,都是那个变量的长度。

比如sizeof(cr1)/sizeof(&cr1),就是10,意思就是这个数组类型的长度(不管里面有什么个字符)。

如果是char * cp=cr1;siztof(cp);意思就是这个指针类型长度是多少。如果是sizeof(str1),那么就是string类型的长度,string是8个字长。

strlen():求的是char字符串的实际长度(string要转成char),它求得方法是从开始到遇到第一个'\0'(不包括'\0'),strlen(cr1),结果就是3。

string.length:返回实例中 Char 对象的个数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: