regionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);
regionMatches(int toffset,String other,int ooffset,int len); 上述两个方法用来比较两个字符串中指定区域的子串。入口参数中,用toffset和ooffset分别指出当前字符串中的子串起始位置和要与之比较的字符串中的子串起始地址;len 指出比较长度。前一种方法可区分大写字母和小写字母,如果在 boolean ignoreCase处写 true,表示将不区分大小写,写false则表示将区分大小写。而后一个方法认为大小写字母有区别。由此可见,实际上前一个方法隐含了后一个方法的功能。比如:
String s1= “tsinghua”
String s2=“it is TsingHua”;
s1.regionMatches(0,s2,6,7);
最后一个语句表示将s1字符串从第0个字符“t”开始和s2字符串的第6个字符“T”开始逐个比较,共比较7对字符,由于区分大小写,所以结果为false。
但如果最后一个语句改为:
s1.regionMatches(true,0,s2,6,7);
则结果为true,因为入口参数中true表示忽略大小写区别。
我们可以使用这个方法来判断某一个字符串是否以某个或某段具体的串为结,我们可以这样使用:
private static boolean endsWith(String str, String suffix, boolean ignoreCase)
{
if(str == null || suffix == null)
return str == null && suffix == null;
if(suffix.length() > str.length())
{
return false;
} else
{
int strOffset = str.length() - suffix.length();
return str.regionMatches(ignoreCase, strOffset, suffix, 0, suffix.length());
}
}

java.lang.String.regionMatches方法使用的更多相关文章

  1. There is no getter for property named 'XXX' in 'class java.lang.String'解决方法

    <select id="ProjectHomePage" parameterType="string" resultType="java.uti ...

  2. java.math.BigDecimal cannot be cast to java.lang.String解决方法

    从mysql数据库里取decimal(18,2)封装到Map<String,String>中 BigDecimal b = new BigDecimal(resultMap.get(&qu ...

  3. 重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取

    /** * 根据元数据和目标ascii位数截取字符串,失败返回-1 * @param sourceStr 元数据字符串 * @param endIndex 截取到第几位 * @return 结果字符串 ...

  4. java.lang.String.getBytes(String charsetName)方法实例

    java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...

  5. 数据转换bug花了半天时间 Java.math.BigDecimal cannot be cast to java.lang.String

    从数据库取出一个 Count函数 统计的值 在代码中要转成Integer类型的时候 Integer.parseInt((String)map.get("ID_")) 报了一下错误: ...

  6. mybatis之org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'time' in 'class java.lang.String'

    mybatis接口 List<String> getUsedCate(String time); 配置文件 <select id="getUsedCate" pa ...

  7. java.lang.String 类的所有方法

    java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...

  8. java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解

    public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...

  9. mybatis invalid comparison: java.sql.Timestamp and java.lang.String报错解决方法

    这个错的意思是:java.sql.Timestamp和java.lang.String无效的比较 错误的原因是:拿传入的时间类型参数与空字符串进行比较就会报这个异常 解决方法:只保留非null判断就可 ...

随机推荐

  1. C#:几种数据库的大数据批量插入(转)

    在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解 ...

  2. bzoj4337: BJOI2015 树的同构 树哈希判同构

    题目链接 bzoj4337: BJOI2015 树的同构 题解 树哈希的一种方法 对于每各节点的哈希值为hash[x] = hash[sonk[x]] * p[k]; p为素数表 代码 #includ ...

  3. Codeforces.914D.Bash and a Tough Math Puzzle(线段树)

    题目链接 \(Description\) 给定一个序列,两种操作:一是修改一个点的值:二是给一个区间\([l,r]\),问能否只修改一个数使得区间gcd为\(x\). \(Solution\) 想到能 ...

  4. BZOJ.2434.[NOI2011]阿狸的打字机(AC自动机 树状数组 DFS序)

    题目链接 首先不需要存储每个字符串,可以将所有输入的字符依次存进Trie树,对于每个'P',记录该串结束的位置在哪,以及当前节点对应的是第几个串(当前串即根节点到当前节点):对于'B',只需向上跳一个 ...

  5. bootStrap中的翻页效果

    <div class="container"> <br/> <ul class="pagination"> <li&g ...

  6. java获取在各种编码下中文及英文的字符个数

    https://blog.csdn.net/cuker919/article/details/17281691

  7. 安装 Keepalived

    安装环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# cat /proc/v ...

  8. java内部类(三)

    内部类之方法内部类 方法内部类就是内部类定义在外部类方法中,方法内部类只在该方法内部可见,即只在该方法内部使用. 注意:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符 ...

  9. __x__(2)0905第二天__计算机软件和硬件

    计算机(Computer)由硬件和软件组件,没有软件的计算机称为 裸机, 计算机的软件包括操作系统(OS)和应用软件(Software). 操作系统(Operating System,简称OS) 是管 ...

  10. 设备树中ranges属性分析(1)

    作者 彭东林 pengdonglin137@163.com   软件环境 Linux-4.10.17 Qemu+vexpress   概述 在设备树中有时会看到ranges属性,这个ranges属性可 ...