java getBytes错误
我在应用程序中使用ZXing库,我使用类。 但当我运行我的应用程序时,我在这一行出现了错误:java getBytes错误,java,android,zxing,Java,Android,Zxing,我在应用程序中使用ZXing库,我使用类。 但当我运行我的应用程序时,我在这一行出现了错误: String msg = "123456"; byte[] msgBinary = msg.getBytes(Charset.forName("ISO-8859-1")); 错误如下: java: no suitable method found for getBytes(java.nio.charset.Charset) method java.lang.String.getBytes(ja
String msg = "123456";
byte[] msgBinary = msg.getBytes(Charset.forName("ISO-8859-1"));
错误如下:
java: no suitable method found for getBytes(java.nio.charset.Charset)
method java.lang.String.getBytes(java.lang.String) is not applicable
(actual argument java.nio.charset.Charset cannot be converted to java.lang.String by method invocation conversion)
method java.lang.String.getBytes(int,int,byte[],int) is not applicable
(actual and formal argument lists differ in length)
method java.lang.String.getBytes() is not applicable
(actual and formal argument lists differ in length)
有谁能告诉我这里有什么问题吗?我检查了getBytes输入参数仅为String(getBytes(java.lang.String encoding)),但Charset.forName返回Charset。
这里有什么问题 正如@Code Painters所提到的,核心库和Android应用程序的编写假设Java 6和Android API级别为10(又名Gingerbread/Android 2.3.3)。如果您的目标是早期版本的Java或Android,它可能无法工作。您可以将API 10+(或至少9)作为目标,也可以修改代码,使其不使用在支持的API级别之后添加的方法
(还有一些更令人惊讶的问题。看看什么时候,
String.isEmpty()
和new IOException(Throwable)
——这两种标准的Java 6方法——被添加到Android中。实际上,Android开始于Java 5和6之间,直到最近才与Java 6的标准库兼容),正如@code Painters所提到的,核心库和Android应用程序的编写假设Java 6和Android API级别为10(又名Gingerbread/Android 2.3.3)。如果您的目标是早期版本的Java或Android,它可能无法工作。您可以将API 10+(或至少9)作为目标,也可以修改代码,使其不使用在支持的API级别之后添加的方法
(还有一些更令人惊讶的问题。看看什么时候
String.isEmpty()
和new IOException(Throwable)
——这两种标准的Java 6方法——被添加到Android中。实际上,Android开始于Java 5和6之间,直到最近才与Java 6的标准库兼容)方法仅在API级别9可用。请尝试使用getBytes(String)
one,它从API级别1开始就存在。只需调用getBytes(“ISO-8591-1”)
。getBytes(Charset)
方法仅在API级别9可用。尝试使用getBytes(String)
one,它从API级别1开始就存在。只需调用getBytes(“ISO-8591-1”)
。很好的调用String.isEmpty()
是我一直试图在Android 2.2中使用的东西,但它不在其中。文件显示应该是这样,但这不是个好主意String.isEmpty()
是我一直试图在Android 2.2中使用的东西,但它不在其中。文件表明它应该是,但事实并非如此。