zoukankan      html  css  js  c++  java
  • 手写代码注意点 -- 类型转换

    char, int, long, boolean, float, double --> String

    Correct syntax: String.valueOf(char)

    Wrong syntax: char.toString()

    Because these primitive are not inherit from Object, so they do not have toString() function.

    char[] --> String

    当char[] 要转化为 string, 不能直接用 char[].toString() !!! 数组类中并没有对toString()方法重写(override),仅仅是重载(overload)为类的静态方法(参见java.util.Arrays)。所以,数组直接使用toString()的结果也是输出内存地址[类型@哈希值] (例如: "[C@232204a1")。

    数组转为字符串应写成:

    1-带格式的string,输出的是[a, b, c]:java.util.Arrays.toString(arr);

    1 int[] arr = { 1, 2, 3, 4, 5 }; 
    2 String arrString = Arrays.toString(arr); 
    3 
    4 // 直接输出,为内存地址
    5 System.out.println(arr); 
    6 // [I@139a55
    7 
    8 System.out.println(arrString );
    9 // [1, 2, 3, 4, 5]

    2 不带格式的string,输出的是abc:

    方法1:直接在构造String时转换。

    char[] data = {'a', 'b', 'c'};
    String str = new String(data);

    方法2:调用String类的方法转换。

    String.valueOf(char[] ch)

    String --> char[]

    String.toCharArray()

    StringBuilder, StringBuffer --> char[]

    StringBuilder & StringBuffer 不能直接.toCharArray(), 必须这样转换:stringBuilder.toString().toCharArray();

  • 相关阅读:
    LeetCode:Remove Duplicates from Sorted List
    LeetCode:Remove Nth Node From End of List
    LeetCode:Delete Node in a Linked List
    LeetCode:Rotate Image
    LeetCode:Anagrams(字母颠倒)
    LeetCode:Single NumberⅡ
    LeetCode:Single Number
    LeetCode:Longest Common Prefix
    bzoj1025
    bzoj1024
  • 原文地址:https://www.cnblogs.com/frankcui/p/11115842.html
Copyright © 2011-2022 走看看