string to char array, showing silly characters

后端 未结 4 1391
Happy的楠姐
Happy的楠姐 2021-01-24 12:51

It is a really simple question but I need an another eye to look at my code:

String strtr = \"iNo:\";
char[] queryNo = strtr.toCharArray();
System.out.println(qu         


        
相关标签:
4条回答
  • 2021-01-24 13:05

    You are trying to print the array and that is the reason you get gibberish. Try using Arrays.toString(queryNo) and you will see what you expected.

    0 讨论(0)
  • 2021-01-24 13:08

    you are printing the object

    queryno, as queryno is a character array of on dimension and java is an object oriented language which holds every thing in the form of classes it gives the class name [C to your array where [ denotes total dimension and C denotes character type of array, Rest is the hashcode of the object.

    0 讨论(0)
  • 2021-01-24 13:15

    That's how toString() is implemented for arrays.

    The [C denotes that is a char array, 177b4d3 is its hashcode.

    You may want to look at

    System.out.println(Arrays.toString(queryNo) + " =this is no");
    

    if you want to see your original String again, you need this:

    System.out.println((new String(queryNo)) + " =this is no");
    
    0 讨论(0)
  • 2021-01-24 13:20

    Arrays do not override toString(), it is inherited from Object.toString as

    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
    
    0 讨论(0)
提交回复
热议问题