草庐IT

str_bytes

全部标签

java.lang.ClassFormat错误: Extra bytes at end of class file

当我尝试运行这个程序时,我遇到了一个奇怪的错误。该类可以很好地编译成多个.class文件,我上周(在编辑它之前)编译它就好了。但是现在,我看到了:Exceptioninthread"main"java.lang.ClassFormatError:Extrabytesattheendofclassfileblah/hooplah/fubar/nonsense/IndexId$Transaction根据我的了解,Java6build1.5可以修复它,因为它允许在类文件末尾添加额外的字节(我认为),但我更愿意使用build1.6。我在Windows上编辑,然后通过FTP将.java文件传输到

java - “Type mismatch: cannot convert int to byte”

我看到有人问关于错误“类型不匹配:无法将int转换为字节”的问题。但它们大多是由涉及的算术运算引起的。这是我的案例:(当我想在EclipseKepler中玩位时会发生这种情况)//java7binaryliteralsbytea=0b01111111;//8-bititcompilesbyteb=0b10000000;//8-biterror:Typemismatch:cannotconvertinttobyte.bytec=(byte)0b10000000;//8-bititworksfineifcasted.问题是,如果它是8位并且最高位是1,那么编译器会给出错误。我想知道为什么。

java - 在 Java 中将 bytes 转换为 String 时会发生什么?

我在Java中尝试将字节转换为字符串时遇到问题,代码如下:byte[]bytes={1,2,-3};byte[]transferred=newString(bytes,Charsets.UTF_8).getBytes(Charsets.UTF_8);并且原始字节和传输字节不一样,分别是[1,2,-3][1,2,-17,-65,-67]我曾经认为这是由于UTF-8字符集映射为负数“-3”。所以我把它改成“-32”。但是传输的数组保持不变![1,2,-32][1,2,-17,-65,-67]所以我非常想知道当我调用newString(bytes)时到底发生了什么:)

java - 作为 byte[]、Key 或 String 的静态 secret ?

我已经开始使用JJWT在我的服务器应用程序上处理JWT。我的JWTsecret将存储在resources文件夹中,我将使用Properties类加载secret。JJWT提供了三种对JWT进行签名的方法,一种使用byte[],一种使用String,另一种使用Key:JwtBuildersignWith(SignatureAlgorithmvar1,byte[]var2);JwtBuildersignWith(SignatureAlgorithmvar1,Stringvar2);JwtBuildersignWith(SignatureAlgorithmvar1,Keyvar2);问题:关

java - 当 str = 2011/12/12aaaaaaaaa 时,SimpleDateFormat parse(string str) 不会抛出异常?

这是一个例子:publicMyDate()throwsParseException{SimpleDateFormatsdf=newSimpleDateFormat("yyyy/MM/d");sdf.setLenient(false);Stringt1="2011/12/12aaa";System.out.println(sdf.parse(t1));}2011/12/12aaa不是有效的日期字符串。但是,该函数会打印“MonDec1200:00:00PST2011”并且不会抛出ParseException。谁能告诉我如何让SimpleDateFormat将“2011/12/12aaa”

java - 使用 GSON 在字符串和 byte[] 之间转换 JSON

我正在使用hibernate将对象映射到数据库。客户端(iOS应用程序)以JSON格式向我发送特定对象,我使用以下实用方法将其转换为它们的真实表示形式:/***Convertanyjsonstringtoarelevantobjecttype*@paramjsonStringthestringtoconvert*@paramclassTypetheclasstoconvertittoo*@returntheObjectcreated*/publicstaticTgetObjectFromJSONString(StringjsonString,ClassclassType){if(str

java - 工作 sun.misc.BASE64Encoder/Decoder 获取 byte[]

我正在尝试使用sun.misc.BASE64Encoder/Decoder,但是这段代码:(newsun.miscBASE64Encoder()).encode(newsun.misc.BASE64Decoder().decodeBuffer("teststringXML:"))返回“测试/字符串/XML/”我很尴尬 最佳答案 不要使用sun.misc或com.sun类。不保证它们在不同版本的jre之间是一致的。使用commons-codecBase64.encodeBase64(..)和Base64.decodeBase64(..

java - 更改 String(byte[]) 的默认编码

有没有办法改变String(byte[])构造函数使用的编码?在我自己的代码中,我使用String(byte[],String)来指定编码,但我使用的是无法更改的外部库。Stringsrc="withaccents:éà";byte[]bytes=src.getBytes("UTF-8");System.out.println("UTF-8decoded:"+newString(bytes,"UTF-8"));System.out.println("Defaultdecoded:"+newString(bytes));这个的输出是:UTF-8decoded:withaccents:éà

java - 在 for 循环中使用它之前将 str.length() 值存储在变量中是否在 Java 中有任何性能改进?

简而言之,JVM是否在内部优化了以下代码publicvoidtest(Stringstr){inta=0;for(inti=0;i像下面的行为一样高效:publicvoidtest(Stringstr){intlen=str.length();inta=0;for(inti=0;i如果它确实进行了优化,它是否通过在内部缓存str.length()值来实现? 最佳答案 ElliotF的回答不错。我做了一个简单得多的测试,并以非常大量的重复次数运行这两种方法,并分别计时。第一种方法(长度只计算一次)始终比第二种方法快。这是我创建的整个测

java - 将 byte 或 int 转换为 bitset

我有以下内容:intnum=Integer.parseInt(lineArray[0]);bytenumBit=num&0xFF;有什么非常简单的方法可以将numBit转换为位数组吗?或者更好的是,有没有办法绕过int的字节转换并直接从num到位数组?谢谢 最佳答案 如果你想要一个BitSet,尝试:finalbyteb=...;finalBitSetset=BitSet.valueOf(newbyte[]{b});如果你想要一个boolean[],staticboolean[]bits(byteb){intn=8;finalboo