看结果1?

  1. package com.swift;
  2.  
  3. class ArrayString {
  4. public static void main(String[] args) {
  5. String str = "swift:30|sunny:28|Ben:32";
  6. String str1[] = str.split("\\|");
  7. for (int i = 0; i <= str1.length - 1; i++) {
  8. String str2[] = str1[i].split("\\:");
  9.  
  10. System.out.println("名字是" + str2[0] + "-->" + "年龄是" + str2[1]);
  11. System.out.println();
  12.  
  13. }
  14. }
  15. }

看结果2?

  1. package com.swift;
  2.  
  3. class StringEmail
  4. {
  5. public static void main(String[] args)
  6. {
  7. String email="tiankong_0000@sina.com.cn";
  8. String email1="81257211@qq.com";
  9. String email2="tiankong.sina.com";
  10. String email3="81257211@sina";
  11. String email4="qq.com@81257211";
  12. String email5="@.";
  13. System.out.println(operate(email));
  14. System.out.println(operate(email1));
  15. System.out.println(operate(email2));
  16. System.out.println(operate(email3));
  17. System.out.println(operate(email4));
  18. System.out.println(operate(email5));
  19.  
  20. }
  21. public static boolean operate(String str)
  22. {
  23. boolean flag=true;
  24. if (str.indexOf("@")==-1)
  25. {
  26. flag=false;
  27. }
  28. if (str.indexOf(".")==-1)
  29. {
  30. flag=false;
  31. }
  32. if (str.indexOf(".")<=str.indexOf("@"))
  33. {
  34. flag=false;
  35. }
  36. return flag;
  37. }
  38.  
  39. }

看结果3?

  1. package com.swift;
  2.  
  3. class StringEquals
  4. {
  5. public static void main(String[] args)
  6. {
  7. String str="Hello";
  8. String str1=new String("Hello");
  9. if(str.equals(str1))
  10. System.out.println("111111111");
  11. else
  12. System.out.println("00000000000");
  13. }
  14. }

看结果4?

  1. package com.swift;
  2.  
  3. public class StringResult {
  4. String str = new String("good");
  5. char[] ch = { 'a', 'b', 'c' };
  6.  
  7. public static void main(String args[]) {
  8. StringResult sr = new StringResult();
  9. sr.change(sr.str, sr.ch);
  10. System.out.print(sr.str + "and");
  11. System.out.print(sr.ch);
  12. }
  13.  
  14. public void change(String str, char ch[]) {
  15. str = "test ok";
  16. ch[0] = 'g';
  17. }
  18. }

看结果5?

  1. package com.swift;
  2.  
  3. class StringJudge
  4. {
  5. public static void main(String[] args)
  6. {
  7. String str1="Hello";
  8. String str2=new String(" World");
  9. System.out.println(str1+str2);
  10. String a="ok";
  11. String b="ok";
  12. String c=new String ("ok");
  13. if(a==b)
  14. System.out.println("1");
  15. else
  16. System.out.println("0");
  17. if(a==c)
  18. System.out.println("1");
  19. else
  20. System.out.println("0");
  21. if(b==c)
  22. System.out.println("1");
  23. else
  24. System.out.println("0");
  25.  
  26. if(a.equals(b))
  27. System.out.println("1");
  28. else
  29. System.out.println("0");
  30. if(a.equals(c))
  31. System.out.println("1");
  32. else
  33. System.out.println("0");
  34. if(b.equals(c))
  35. System.out.println("1");
  36. else
  37. System.out.println("0");
  38. }
  39. }

如何解释?

不同的是,第一条先在内存中创建了"ok"这个String,然后将reference赋给a,下一条语句String b = "ok";那么JVM将不再创建"ok",而是直接将第一个"ok"的reference赋给b,也就是说,a和b是使用同一块内存,而String c = new String("ok");那JVM将在内存中再创建一块区域放上“ok”这个字符串。

看结果6?

  1. package com.swift;

  public class Emp {
    int x=10;
  }

  1. public class ParameterTest {
  2. public static void main(String[] args) {
  3. Emp d = new Emp();
  4. d.x = 30;
  5. fun(d);
  6. System.out.println(d.x);
  7. }
  8.  
  9. public static void fun(Emp example) {
  10. example.x = 100;
  11. }
  12.  
  13. }

看结果7?

  1. package com.swift;
  2.  
  3. public class ParameterTest {
  4. public static void main(String[] args) {
  5. String str="Hello";
  6. fun(str);
  7. System.out.println(str);
  8. }
  9.  
  10. public static void fun(String temp)
  11. {
  12. temp="World";
  13. }
  14.  
  15. }

看结果8?

  1. class Emp
  2. {
  3. String x="swift";
  4. }
  5. class Chuandi
  6. {
  7. public static void main(String[] args)
  8. {
  9. Emp d=new Emp();
  10. d.x="who";
  11. fun(d);
  12. System.out.println(d.x);
  13. }
  14. public static void fun(emp example)
  15. {
  16. example.x="is";
  17. }
  18. }

看结果,测试?java中的String类 字符串拆分成字符串数组 判定邮箱地址 字符串比较 参数传递?的更多相关文章

  1. 关于Java中的String类知识点小总结

    Java中的String类知识点 前言 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 如何创建字符串 最简单的方式 String str = "he ...

  2. Java中的String类

    /*String类用于描述字符串事物的那么它就提供了多个方法对字符串进行操作 方法都会用,字符串这块就结束了常见的操作有哪些?“abcd”它应该具备什么功能,我们才能更好得操作它?1.获取(必须要掌握 ...

  3. JAVA中的String类(详解)

    Java.lang.String类是final类型的,因此不可以继承这个类.不能修改这个类.String是一个类不属于基本数据类型. 可以从源码中看到,String是一个final类型. String ...

  4. Java中的String为什么要设计成不可变的?

    一.不可变类和不可变对象 Normally,you create an object and allow its contents to be changed later.However ,occas ...

  5. java中的String类常量池详解

    test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[ ...

  6. Java中的String类能否被继承?为什么?

    不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的. Java对String类的定义: public final class String implements ja ...

  7. Java 中的 String 类常用方法

    字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. Strin ...

  8. 为什么Java中的String类是不可变的?

    String类是Java中的一个不可变类(immutable class). 简单来说,不可变类就是实例在被创建之后不可修改. 在<Effective Java> Item 15 中提到了 ...

  9. java中的String类的不可变性的小例子

    在java语言中,String类具有不可变性,即常量字符串不可更改.下面的一个小例子简单演示相关概念. public class test { public static void main(Stri ...

随机推荐

  1. 网络工程师HCNA认证学习笔记Day1

    企业网络 企业网络远程互联是广域网WAN互联,而非互联网Internet小型企业网络:一个路由器.交换机.AP大型企业网络:核心层.汇聚层.接入层.考虑可用性.稳定性.扩展性.安全性.可管理,冗余. ...

  2. GoldenGate对接 mysql

    环境: centos 7.4 mysql 5.5.58 glibc 64 位版,下载链接:https://dev.mysql.com/downloads/mysql/5.5.html#download ...

  3. 如何对接payjs的个人微信扫码支付接口

    在众多个人支付接口的产品中,要寻找一个稳定可靠的产品是比较难的,所幸遇到payjs,感觉逼格较高,非常满足自己的品味.推荐大家使用.下边是我在对接payjs的过程中的一些经验和技巧,分享给大家. 一. ...

  4. bzoj1145[CTSC2008]图腾

    传送门 虽然是远古时期的ctsc,但是果然还是ctsc啊 前置芝士:树状数组 这个题最开始的思路很好想,由于之前写过一个类似处理的题,所以这个题我一开始就想到了思路. 首先,我们可以尝试讲图腾表示为x ...

  5. IP服务-2-RARP和BOOTP

    ARP和代理ARP进程都是在一台主机知道了自己的IP地址和子网掩码后发生的.RARP.BOOTP和DHCP则代表了一类协议的发展,这类协议用来帮助主机动态地学习自己的IP地址.

  6. bzoj4059 [Cerc2012]Non-boring sequences && bzoj5200 [NWERC2017]Factor-Free Tree

    https://konnyakuxzy.github.io/BZPRO/JudgeOnline/4059.html https://cn.vjudge.net/problem/Gym-100624D ...

  7. centOS6.5 usr/src/kernels下为空

    用uname -r查看内核版本为 2.6.32-431.el6.x86_64 usr/src/kernels下为空 需要执行两个安装 yum install kernel-headers yum in ...

  8. [android][avd位置修改][需自己手动]

    1.找到avd目录(C:\的那个)并打开,移动.avd文件到需要的位置. 2.修改ini文件path,完成.

  9. Sublime的用法

    一.首先安装插件 1.安装Package Control,这是为了安装其他插件做基础,它可以方便我们下载其他插件 (1).按Ctrl+`调出console(注:避免热键冲突) (2).粘贴以下代码到命 ...

  10. list control 【转】

    1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的ite ...