Java 比较字符串

示例 1 : 是否是同一个对象

str1和str2的内容一定是一样的! 但是,并不是同一个字符串对象

package character;

public class TestString {

public static void main(String[] args) {

String str1 = "the light";

String str2 = new String(str1);

//==用于判断是否是同一个字符串对象

System.out.println( str1  ==  str2);

}

}

示例 2 : 是否是同一个对象-特例

str1 = “the light”; str3 = “the light”;

一般说来,编译器每碰到一个字符串的字面值,就会创建一个新的对象 所以在第6行会创建了一个新的字符串"the light" 但是在第7行,编译器发现已经存在现成的"the light",那么就直接拿来使用,而没有进行重复创建

package character;

public class TestString {

public static void main(String[] args) {

String str1 = "the light";

String str3 = "the light";

System.out.println( str1  ==  str3);

}

}

示例 3 : 内容是否相同

使用equals进行字符串内容的比较,必须大小写一致 equalsIgnoreCase,忽略大小写判断内容是否一致

package character;

public class TestString {

public static void main(String[] args) {

String str1 = "the light";

String str2 = new String(str1);

String str3 = str1.toUpperCase();

//==用于判断是否是同一个字符串对象

System.out.println( str1  ==  str2);

System.out.println(str1.equals(str2));//完全一样返回true

System.out.println(str1.equals(str3));//大小写不一样,返回false

System.out.println(str1.equalsIgnoreCase(str3));//忽略大小写的比较,返回true

}

}

示例 4 : 是否以子字符串开始或者结束

startsWith //以…开始 endsWith //以…结束

package character;

public class TestString {

public static void main(String[] args) {

String str1 = "the light";

String start = "the";

String end = "Ight";

System.out.println(str1.startsWith(start));//以...开始

System.out.println(str1.endsWith(end));//以...结束

}

}

练习: 比较字符串

创建一个长度是100的字符串数组 使用长度是2的随机字符填充该字符串数组 统计这个字符串数组里重复的字符串有多少种(忽略大小写)

答案:

package character;

public class TestString {

public static void main(String[] args) {

String[] ss = new String[100];

// 初始化

for (int i = 0; i < ss.length; i++) {

ss[i] = randomString(2);

}

// 打印

for (int i = 0; i < ss.length; i++) {

System.out.print(ss[i] + " ");

if (19 == i % 20)

System.out.println();

}

for (String s1 : ss) {

int repeat = 0;

for (String s2 : ss) {

if (s1.equalsIgnoreCase(s2)) {

repeat++;

if (2 == repeat) {

// 当repeat==2的时候,就找打了一个非己的重复字符串

putIntoDuplicatedArray(s1);

break;

}

}

}

}

System.out.printf("总共有 %d种重复的字符串%n", pos);

if (pos != 0) {

System.out.println("分别是:");

for (int i = 0; i < pos; i++) {

System.out.print(foundDuplicated[i] + " ");

}

}

}

static String[] foundDuplicated = new String[100];

static int pos;

private static void putIntoDuplicatedArray(String s) {

for (int i = 0; i < pos; i++){

if (foundDuplicated[i].equalsIgnoreCase(s))

return;

}

foundDuplicated[pos++] = s;

}

private static String randomString(int length) {

String pool = "";

for (short i = '0'; i <= '9'; i++) {

pool += (char) i;

}

for (short i = 'a'; i <= 'z'; i++) {

pool += (char) i;

}

for (short i = 'A'; i <= 'Z'; i++) {

pool += (char) i;

}

char cs[] = new char[length];

for (int i = 0; i < cs.length; i++) {

int index = (int) (Math.random() * pool.length());

cs[i] = pool.charAt(index);

}

String result = new String(cs);

return result;

}

}

java 数字字符串大小比较_Java自学-数字与字符串 比较字符串相关推荐

  1. java数字猜大小游戏_Java之数字猜大小

    实验代码: /* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: GuessNumber ...

  2. Java中number数字类型的转换_Java下数字类型的转换 (转)

    Java下数字类型的转换 (转)[@more@] 作者:家居猫 各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数 ...

  3. java截取固定大小图片_JAVA技巧(长字符串按指定长度截取)

    在web开发中,会遇到这样一个问题,想让某个内容全部保持在一定长度范围内,未超出的行全部显示,超长的行只允许显示一定的长度,结尾用省略号代替. 粗想一下,实现这个功能很容易,直接取字符串的长度(用le ...

  4. java产生的数字发送到页面_JAVA中数字证书的维护及生成方法

    Java中的keytool.exe可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息.证书库中的一条 ...

  5. java中英文汉语混合排序_Java编程实现中英混合字符串数组按首字母排序的方法...

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法.分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷 ...

  6. java网上书店视频教学_Java自学视频教程

    <Java自学视频教程> 第1篇入门篇 第1章 Java开发前奏2 (视讲解:19分钟) 1.1 Java简介3 1.1.1 Java语言3 1.1.2 与其他语言相比Java的优势3 1 ...

  7. java数字猜大小游戏_java实现猜数字小游戏

    java实现猜数字游戏 随机给定一个数字,猜大小直到正确 package com.swift; import java.util.Random; import java.util.Scanner; p ...

  8. java 数字翻译成英文_Java实现数字日期翻译成英文单词的工具类案例分享

    这篇文章主要介绍了Java实现将数字日期翻译成英文单词的工具类,结合完整实例形式分析了Java日期转换与字符串操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了Java实现将数字日期翻译成英文单词 ...

  9. java里正数和负数_Java程序检查数字是正数还是负数

    Java程序检查数字是正数还是负数 在该程序中,您将学习检查给定的数字是正数还是负数.这是通过在Java中使用if else语句完成的. 示例:使用if else检查数字是正数还是负数 public  ...

最新文章

  1. Welcome to Swift (苹果官方Swift文档初译与注解三十四)---241~247页(第五章-- 函数)
  2. 一个星期+4轮面试终拿下offer,进阶学习
  3. java state用法_Java状态模式(State模式)
  4. LeetCode 326. 3的幂
  5. python复杂网络点图可视化_Python学习工具:9个用来爬取网络站点的 Python 库
  6. RocketMQ-PushConsumer配置参数详解
  7. oracle学习总结1
  8. 生物信息学主要研究方向
  9. python npy文件与mat文件的保存与读取
  10. SEO内容构建流程,SEO内容建设策略有哪些?
  11. 在iOS开发中使用自定义字体
  12. 连虚拟机mysql_实体机连虚拟机MYSQL联接不上
  13. 为什么程序员喜欢养猫?
  14. centos7.5安装Jenkins
  15. python在excel应用实例视频-超简单:用Python让Excel飞起
  16. 自媒体怎么同时多平台发文章?5分钟发到30+自媒体平台上
  17. 移动端开发之Web App开发
  18. 忠仕商务通修改对话界面内容
  19. 基于springboot新生报到系统毕业设计源码080901
  20. Web组成:静态网页,动态网页

热门文章

  1. MFC学习--下拉框、列表、树控件、选项卡
  2. atop用法_Linux atop监控工具部署
  3. HTML技能点--表单enctype属性解释
  4. 服务器怎么导出系统日志,服务器操作系统日志导出
  5. 云服务器如何查看服务器日志?
  6. 【转】JavaScript 中的垃圾回收和内存泄露如何处理
  7. 在K3S集群中安装Rancher
  8. C++结构体定义(链表等)
  9. git:pull --force 强制覆盖本地的分支
  10. C语言:浮点数上溢、下溢学习记录