草庐IT

OLED_WR_Byte

全部标签

java - 为什么 "int i = (byte) + (char) - (int) + (long) - 1"是 1?

这个问题在这里已经有了答案:Weirdjavabehaviorwithcaststoprimitivetypes(3个答案)关闭8年前。我在网上偶然发现了这段代码publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){inti=(byte)+(char)-(int)+(long)-1;System.out.println(i);}}它打印1。我能知道为什么吗?这是来源-->http://www.javacodegeeks.com/2011/10/weird-funny-java.html

Java 10 : Byte Code Generation for Enhanced For Loops

这个问题在这里已经有了答案:Java"for"statementimplementationpreventsgarbagecollecting(6个答案)关闭4年前。以下示例描述了Java9之前的以下代码行的生成。Listdata=newArrayList();for(Stringb:data);publicclassTest{publicTest(){}publicstaticvoidmain(String[]paramArrayOfString)throwsIOException{ArrayListlocalArrayList=newArrayList();Stringstr;fo

java - 将音频 byte[] 保存到 wav 文件

在过去几天试图让它工作时遇到了一些麻烦。但我想要的是我们有一个通过网络发送原始数据的应用程序。然后我读入这个二进制数据并想将它保存到一个wav(任何音频)文件中。稍后可能会考虑压缩。所以有问题的代码:byte[]allBytes=...InputStreamb_in=newByteArrayInputStream(allBytes);try{AudioFormatformat=newAudioFormat(8000f,16,1,true,true);AudioInputStreamstream=newAudioInputStream(b_in,format,allBytes.lengt

java - Arrays.copyOfRange(byte[], int, int) 奇怪行为背后的逻辑是什么?

任何人都可以向我解释Arrays.copyOfRange(byte[],int,int))的奇怪行为背后的逻辑吗??我可以用简单的例子来说明我的意思:byte[]bytes=newbyte[]{1,1,1};Arrays.copyOfRange(bytes,3,4);//Returnssingleelement(0)arrayArrays.copyOfRange(bytes,4,5);//ThrowsArrayIndexOutOfBoundsException在这两种情况下,我都将范围复制到数组边界之外(即start>=array.length),因此错误条件至少对我来说很奇怪(如果是

Java隐式转换int到byte

我即将开始做一些需要读取字节和创建字符串的工作。读取的字节表示UTF-16字符串。因此,为了测试一下,我想将UTF-16编码的简单字节数组转换为字符串。数组中的前2个字节必须代表字节顺序,因此必须是0xff0xfe或0xfe0xff。所以我尝试按如下方式创建字节数组:byte[]bytes=newbyte[]{0xff,0xfe,0x52,0x00,0x6F,0x00};但我得到了一个错误,因为0xFF和0xFE太大而无法放入一个字节(因为字节是用Java签名的)。更准确地说,错误是无法将int转换为字节。我知道我可以通过强制转换从int显式转换为byte并获得所需的结果,但这不是我的

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 - 作为 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 - 使用 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:éà