关于JAVA的编译问题,热心人士,得到帮助

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:20:48
我有个小小的程序,不知道是哪里出错了,希望大家能帮帮我,我感激不尽,下面是我的程序:
public class str4
{
public static void main(String[] args)
{
byte[] b={1,2,3,4,5,6};
String str=new String(b,3,2,UTF-16);
System.out.println(str);
}
}
我在编译的时候就出现这样的情况:
E:\>javac str4.java
str4.java:6: 找不到符号
符号: 变量 UTF
位置: 类 str4
String str=new String(b,3,2,UTF-16);
^
注意:str4.java 使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
1 错误

E:\>

我不知道是哪里出了问题。我先在这里说声谢谢了咯!

public class test
{
public static void main(String[] args) throws Exception
{
byte[] b={1,2,3,4,5,6};
String str=new String(b,3,2,"UTF-16");
System.out.println(str);
}
}
修改成这样看看是不是你想要的

直接UTF-16是不行的 因为它不是String类型 也不是int类型

String str=new String(b,3,2,UTF-16);
如果你要一个数组的话,就改成
String[] str = new String{"b","3","UTF-16"};
如果想解决问题, 就改成
String str = new String("b,3,2,UTF-16");

String 类型的使用 不是你这样的 - =

你可以下个java API 看看 基本数据类型的使用方法!

直接UTF-16是不行的 因为它不是String类型 也不是int类型

详细分析一下这个问题:
1.首先Java的变量名是不能包含 - 的,所以 UTF-16 并不被当作一个变量,而是仅仅 UTF 被当作变量;
2.编译器查找 UTF 的声明,发现没有这个变量,于是打印
str4.java:6: 找不到符号
符号: 变量 UTF ;
3.如果没有猜错,你应该是想将 "UTF-16" 字符串传给String()函数,那必须加上双引号,新手易犯这种粗心的错误;你也可以这样调用
String str = new String(b, 2, 1,java.nio.charset.Charset.defaultCharset());
避免自己传递编码名字;
4."