
简单实现代码如下:
public
class
stringlength
{
/
@param
value
指定的字符串
@return
字符串的长度
/
public
static
int
length(string
value)
{
int
valuelength
=
0;
string
chinese
=
"[\u0391-\uffe5]";
/
获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1
/
for
(int
i
=
0;
i
<
valuelength();
i++)
{
/
获取一个字符
/
string
temp
=
valuesubstring(i,
i
+
1);
/
判断是否为中文字符
/
if
(tempmatches(chinese))
{
/
中文字符长度为2
/
valuelength
+=
2;
}
else
{
/
其他字符长度为1
/
valuelength
+=
1;
}
}
return
valuelength;
}
public
static
void
main(string
args[]){
string
str
=
"hello你好";
systemoutprintln(stringlengthlength(str));
}
}
由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,
如果是汉字或其他全角字符,Ascii会大于255。
不对的,字符串有成员函数length(), 可以通过调用 strlength() 来获得字符串的长度
数组的length是一个静态成员变量,不是方法,arraylength就是数组的长度
以上就是关于简单的JAVA字符串长度计算的实现全部的内容,包括:简单的JAVA字符串长度计算的实现、java 按字节获取字符串长度、JAVA中length()可以获得字符串和数组的长度对不对等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)