zoukankan      html  css  js  c++  java
  • String基础

    1.String 不可变

    public class Test1 {

    public static String upcase(String s){

    return s.toUpperCase();

    }

    public static void main(String[] args) {

    String s="hobby";

    System.out.println(s);

    String ss = upcase(s);

    System.out.println(ss);

    }

    }

    当把String作为参数时,会先拷贝一份引用,引用所指向的物理地址不会改变

    2. 重载+StringBuilder

    String对象是不可变的,具有只读特性

    public static void main(String[] args) {

    String mongo="mongo";

    String s="a"+mongo+"c"+47;

    System.out.println(s);

    }

    编译器自动引入了java.lang.stringBuilder,最终构建String对象

    那就可以随便使用String了吗?请看下个例子

    public String useString(String[] field){

    String result="";

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

    result+=field[i];

    }

    return result;

    }

    public String useStringBuilder(String[] field){

    StringBuilder sb=new StringBuilder();

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

    sb.append(field[i]);

    }

    return sb.toString();

    }

    从他们的字节码可知:StringBuilder效率更高

    3. String 上的操作

    注:当需要改变String的内容时,会返回一个新的String对象,如果内容没有改变时,返回原对象的引用

    4.格式化输出

    1.format方法

    public static void main(String[] args) {

    int a=1;

    double b=3.1415976;

    System.out.format("a=%d,b=%f", a,b);

    }

    有点类似Cprintf

    2.Formatter

    public class Test1 {

    private String name;

    private Formatter f;

    public Test1(String name,Formatter f){

    this.f=f;

    this.name=name;

    }

    public void move(int x,int y){

    f.format("%s The Turtle is at (%d,%d)", name,x,y);

    }

    public static void main(String[] args) {

    Test1 t1=new Test1("netty", new Formatter(System.out));

    t1.move(5, 6);

    }

    }

    5.Formatter转换

  • 相关阅读:
    k8s-学习笔记12-权限体系
    Linux上磁盘热插拔
    delphi hashmap
    my gcc project
    gcc dll 导出问题 GTK+Glade3 Gtk-WARNING **: Could not find signal handler 问题最终解析
    c/c++字符串定义及使用的对比
    gcc printf()打印char* str
    gcc选项-g与-rdynamic的异同
    GCC编译,库的编译使用及Makefile
    gcc test
  • 原文地址:https://www.cnblogs.com/xhlwjy/p/11276518.html
Copyright © 2011-2022 走看看