Bharti Rawat Bharti Rawat - 1 year ago 68
Java Question

What is the need of convert a String to charArray?

I know this the very basic question. But i am very confused in it. Properly i am not getting that why we need to convert a String to CharArray. I know the work of

method. Only i want some real time example that why we need this method. I know charArray representation:

char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };


public class Test {

public static void main(String args[]){
String a = "bharti";
char[] charArray = a.toCharArray();


Output: bharti

For me there is no difference between output and my string bharti in variable 'a'.

Problem creation source : Actually i want to writing a code to generate a hash password so i was reading some code from google there mostly toCharArray() method is used in it.So i didn't get we why are using this.

Hope you guys are understanding me. Thanks for your help.

Answer Source

Converting from String to char[] is useful if you want to do something with the order of the elements, for example sort() them.

String is immutable and not very suited for manipulation.

For example:

    String original = "bharti";
    char[] chars = original.toCharArray();
    String sorted = new String(chars);

which prints:


Also, some methods/classes explicitly require a char[] as input, for example PBEKeySpec

byte[] salt = new byte[16];
KeySpec spec = new PBEKeySpec("password".toCharArray(), salt, 65536, 128);
SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
byte[] hash = f.generateSecret(spec).getEncoded(…

The rationale is that you can wipe the char[] contents from memory. See more information here:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download