hi ^_^
I want to ask what is the difference between (System.out.println(B);) and (System.out.println(new string(B));) ?!
actually it gives me the same output in my code!
so then >>what is the use of [new string(array)] in general ???
thank U :)))

public class CopyArray {

    public static void main(String[] args) {
char A[]={'j','a','v','a'};
        char B[] =new char [4];
        System.arraycopy(A, 0, B,0, 4 );
        System.out.println(B);

    }

}
---------------------------------------------------------------
 public class CopyArray {

    public static void main(String[] args) {
char A[]={'j','a','v','a'};
        char B[] =new char [4];
        System.arraycopy(A, 0, B,0, 4 );
        System.out.println(new string(B));

    }

}

In this particular case it doesn't matter, but some methods won't accept an array of bytes, only a String, as parameter, which is when you want to use this.

An array of chars is one thing, a String is a differemt thing.
Arrays of chars are not very often used - all you can do is iterate through the array to process the chars one at a time
Strings are used all the time - they have dozens of valuable methods, and wil also allow you to get the individual chars that make up the String.

new String(anArrayOfChars) takes a not-very-useful array of chars and creates a new String that you can use with all the methods of the String class (and many other methods that that use Strings as parameters)

This question has already been answered. Start a new discussion instead.