Unicode in Java isn't as obvious as you might think. Sun has spent a lot of time making Java as locale-independent as possible. There's no such thing as:
char ch = char$(41)
in Java, because that assumes a particular encoding - not just ASCII or Unicode, where the number of bytes is different, but EBCDIC as well - EBCDIC is still very much alive and well, and IBM would just LOVE to sell you a mainframe where CICS runs with Java apps.
Try for something more like this:
public class Hi {
public static void main( String[] args ) {
byte[] hithere = new byte[2];
hithere[0] = 64 + 8;
hithere[1] = 64 + 9;
try {
String hiString = new String( hithere, "utf-8" );
System.out.println("I made a string: \"" + hiString + "\"");
} catch ( Exception ex ) {
System.out.println("Uh-oh! " + ex.getMessage() );
}
}
}
The arithmetic is because I was too lazy to count ASCII (UTF-8) on my fingers, so I let the compiler add it for me. If you want real Unicode, double the size of "hithere", set the even-numbered bytes to 0 (since Unicode is a 2-byte encoding extending ASCII) and use the encoding "UTF-16".
BTW, a good reasource for java questions is
http://www.javaranch.com