stringtokenizerJAVA中StringBuffer与StringBuilder、String的区别是什么?

stringtokenizer  时间:2021-06-22  阅读:()

下面的代码什么意思,特别是StringTokenizer 的方法hasMoreTokens(),nextToken()不明白!

boolean hasMoreTokens()用来判断当前还有没有可以遍历的元素 StringnextToken(String delim)返回当前索引开始,指定分隔符的下一个token。

实际返回的是索引当前位置到下一个delim出现为止所有的字符

java这个StringTokenizer(String xxx)怎么用?

String?str?=?"a,ab,a"; StringTokenizer?a?=?new?StringTokenizer(str,","); while(a.hasMoreTokens()){ ????System.out.println(a.nextToken()); }简单来说这个有点类似字符串的split()方法可以分隔字符串,但是比split()方法功能强大,它可以指定分隔符,也可以对java默认的分隔符(空格,制表符,换行符,回车符)进行分隔,并且可以在分隔的时候把分隔符也算为一个元素

JAVA用StringTokenizer方法计算字符串中的某词的个数问题

import java.util.StringTokenizer; public class Test { public static int tongji(String input) { int count = 0; StringTokenizer tokenizer = new StringTokenizer(input); while (tokenizer.hasMoreElements()) { String element = (String) tokenizer.nextElement(); if ("the".equalsIgnoreCase(element)) count++; } return count; } public static void main(String[] args) { System.out.println(tongji("The great wall is a the most wonderful building")); } }

Java, Stringtokenizer和String split有什么区别?

二者都可以用于分割字符串。

但StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。

JDK建议使用 String 的 split 方法或java.util.regex 包。

而有实验表明StringTokenizer 性能更高些。

JAVA中StringBuffer与StringBuilder、String的区别是什么?

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串操作类。

1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。

private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。

char[] value; 2.是否多线程安全 String中的对象是不可变的,也就可以理解为常量,显然线程安全。

AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。

StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。

看如下源码: public synchronized StringBuffer reverse() { super.reverse(); return this; } public int indexOf(String str) { return indexOf(str, 0); //存在 public synchronized int indexOf(String str, int fromIndex) 方法 } StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。

3.StringBuilder与StringBuffer共同点 StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。

抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。

StringBuilder、StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...)。

只是StringBuffer会在方法上加synchronized关键字,进行同步。

最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。

Sharktech($49/月),10G端口 32GB内存,鲨鱼机房新用户赠送$50

Sharktech 鲨鱼机房商家我们是不是算比较熟悉的,因为有很多的服务商渠道的高防服务器都是拿他们家的机器然后部署高防VPS主机的,不过这几年Sharktech商家有自己直接销售云服务器产品,比如看到有新增公有云主机有促销活动,一般有人可能买回去自己搭建虚拟主机拆分销售的,有的也是自用的。有看到不少网友在分享到鲨鱼机房商家促销活动期间,有赠送开通公有云主机$50,可以购买最低配置的,$49/月的...

炭云188元/年,上海CN2 VPS/2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP

炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...

HostYun(22元/月)全场88折优惠香港原生IP大带宽

在之前的一些文章中有提到HostYun商家的信息,这个商家源头是比较老的,这两年有更换新的品牌域名。在陆续的有新增机房,价格上还是走的低价格路线,所以平时的折扣力度已经是比较低的。在前面我也有介绍到提供九折优惠,这个品牌商家就是走的低价量大为主。中秋节即将到,商家也有推出稍微更低的88折。全场88折优惠码:moon88这里,整理部分HostYun商家的套餐。所有的价格目前都是原价,我们需要用折扣码...

stringtokenizer为你推荐
prisma安卓版kovo安卓版的哪有下载?刷ip流量如何刷自己网站的IP流量yui3yui 3 月9日 出的专辑的情报erp系统教程在一个公司里怎样去学ERP空间导航怎么设置QQ空间个性导航backupexecBackup Exec 2014怎么备份Exchange微盟价格微盟渠道代理政策是怎么样的?flex是什么这些b365m和b360m什么意思在线操作系统常见的电脑操作系统有哪些?各有什么优缺点元宝汇为什么我喝汇圆肾宝喝的阳痿了?
云南服务器租用 linuxapache虚拟主机 新加坡服务器 美国主机评论 bluehost wavecom webhosting php主机 52测评网 阿里云浏览器 ftp教程 北京双线机房 秒杀汇 服务器干什么用的 免费phpmysql空间 爱奇艺vip免费领取 联通网站 四川电信商城 vul 阿里云免费邮箱 更多