首页 > 编程知识 正文

如何取字符串的长度,string截取字节长度

时间:2023-05-05 00:02:36 阅读:187235 作者:1834

2011-10-20新学期面试问题:使用字符串引用类型时,你用过什么方法? 例如,如何剪切指定字符串的长度?

没有成为答案! (没有剪切过字符串) ) ) ) )。

String引用类型有一种称为substring的方法。 这是用于切出字符串的。

如果将Ctrl鼠标左键放入substring方法中,将显示以下源代码:

理解//dq dhd://begin index是开始位置,endIndex是末端位置public string substring (int//begin index,int endIndex )//开始位置不是0以上是有意义的(/)同样,末端位置的值不能大于实际长度。 剪切超过实际长度没有意义if(endindexvalue.length ) thrownewstringindexoutofboundsexception (end index ); //实际切取位置是末端位置-开始位置的值,例如7-1=6 //6是切取的长度int subLen=endIndex - beginIndex; //剪切长度当然不能小于零。 if(sublen0) thrownewstringindexoutofboundsexception (sublen ); //这里是返回被剪切长度的新字符串。 //他是根据你输入的始末位置定制的//其实这里不太清楚,但是我知道是要返回实际的长度//起点位置的值从0开始的话,末端位置的值最大。 那么,如果不是原来的字符串//的话,根据始末的位置返回新的你自己定义的字符串return((beginindex==0) ) endIndex==value.length )? this3360newstring(value,beginIndex,subLen ); }为什么在源代码中判断0,应该与名为String的引用类型的实现原理有关。 String是char数组的存储结构。 从某种意义上说,它也是一个数组。 因此,起始端如数组中定义,第0个元素实际上是直观的第一个元素。

(我是dqdhd,不知道实现原理,所以只能说自己能理解的事情)

以下是我在IDEA上受好奇心的驱使,用代码进行的测试。

system.out.print ln ('===============' ) stringc=' ABC '.substring (0,3 ); 字符串C1=' ABC '.substring (1,3 ); 字符串C2=' ABC '.substring (2,3 ); stringd=' abcdf '.substring (0,0 ); system.out.println(c ); system.out.println(C1; system.out.println(C2; system.out.println(d ); system.out.print ln ('==============)==' )

string D1=' abcdf '.substring (0,6 ); system.out.println(D1; 此错误与源代码中末端值超过实际长度的异常名称相同

if (结束索引值. length ) )。

thrownewstringindexoutofboundsexception (end index );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。