我正在尝试将 byte[] 转换为十六进制字符串,并将相同的十六进制字符串转换为 android 中的 byte[] ,数据不匹配。
前任 :
收到字节[]数据:[B@b39c86a
转换后的十六进制字符串:8be897cc3c4d9e5dd6a6bbd106d8e8d487691b56
当我解码十六进制字符串时,我得到[B@ea6d15b,但它应该是[B@b39c86a
我正在使用下面的代码进行转换。
public String byte2hex(byte[] a) {
/*StringBuilder sb = new StringBuilder(a.length * 2);
for (byte b : a)
sb.append(String.format("%02x", b & 0xff));
return sb.toString();*/
String hexString = "";
for(int i = 0; i < a.length; i++){
String thisByte = "".format("%x", a[i]);
hexString += thisByte;
}
return hexString;
}
public static byte[] hexStringToByteArray(String s) {
/* int len = s.length();
byte[] data = new …Run Code Online (Sandbox Code Playgroud) 例如,我有一个int和size 3类型的数组,它有元素1,2,3当我尝试JOptionPane用循环打印它时,它会生成三个不同的窗格.
当我尝试:
JOptionPane.showMessageDialog( null, array );
Run Code Online (Sandbox Code Playgroud)
它给出了垃圾值.
我到处搜索,但找不到解决办法.如何在选项窗格中显示阵列?
我正在尝试使用下面的代码编写一个简单的程序来创建一个单维数组,然后您可以使用索引号调用一个值.我使用java和eclipse作为我的编译器.每当我试着调试或运行程序,全阵列打印出来,因为这:[I@1fa8d3b.
class Array
{
public static void main(String[] args)
{
int[] MyArray = new int[] {15, 45, 34, 78, 65, 47, 90, 32, 54, 10};
System.out.println("The full array is:");
System.out.println(MyArray);
System.out.println("The 4th entry in the data is: " + MyArray[3]);
}
}
Run Code Online (Sandbox Code Playgroud)
正确的数据条目在被调用时打印出来.我试图在网上寻找我应该做什么的答案,但我找不到任何有效的方法.我刚刚开始学习Java所以可能有一个非常简单的答案,我只是忽略了.如果有人有任何想法,我将非常感激.
如何以简单的方式打印存储在数组中的内容.过去3个小时我一直在盯着这个!
import java.util.Scanner;
public class December2012 {
public static void main(String[] args) {
int[] array = new int[100];
int sum = 0;
int i = 0;
Scanner input = new Scanner(System.in);
while (sum <= 100 && i < array.length) {
System.out.print("Write in the " + (i + 1) + "th number: ");
array[i] = input.nextInt();
sum += array[i];
i++;
}
System.out.print("You added: ");
System.out.print(array[i] + " ");
System.out.println("\nsum is " + sum);
}
}
Run Code Online (Sandbox Code Playgroud) public class ArrayUtilities{
public static void main(String[] args){
int[] array1= {1,2,3,4,5,10,15,30,32};
System.out.println(copy(array1));
}
public static int[] copy(int[] array){
int[] newArray = new int[array.length];
for(int i = 0; i < array.length; i++){
array[i] = newArray[i];
}
return newArray;
}
}
Run Code Online (Sandbox Code Playgroud)
我不得不写一个复制数组的方法.问题是每当我运行这段代码时它给了我[I @ 68e4e358,而不是数组.请帮忙提前谢谢!
为什么toString方法返回乱码?
char[] arrays = {'a','b','c'};
{ a, b, c }
arrays.toString()
"[C@6519ceb1"
Run Code Online (Sandbox Code Playgroud) public class Test {
public static void main(String[] args) {
int[] a= new int[]{1,2,3};
System.out.println(a);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望得到一个编译或运行时错误.我接受了输出.它是" [I@1ba4806".它在Java中的原因是什么?
我正在尝试打印String,下面是代码:
Object[] objArr = data.get(key);
for (Object obj : objArr)
{
System.out.println(obj);
cell.setValue(obj);
}
Run Code Online (Sandbox Code Playgroud)
但我在控制台中得到以下输出:
[[Ljava.lang.String;@7defb4fb]
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码片段:
System.out.println(Arrays.toString(objArr));
System.out.println(Arrays.asList((objArr)));
System.out.println(objArr[k]);
Run Code Online (Sandbox Code Playgroud)
但是所有这些都给出了类似的奇怪输出:
[[Ljava.lang.String;@7defb4fb]
[[Ljava.lang.String;@7defb4fb]
[Ljava.lang.String;@7defb4fb
Run Code Online (Sandbox Code Playgroud)
如何从中获取字符串值?
**
编辑:
**我的问题是用Java打印和数组化的数组。第一件事是认识到它的嵌套数组,因此当我尝试遍历该数组并打印其元素时,它是在打印地址而不是元素的地址。
[Ljava.lang.String; @ 7defb4fb]
我的问题是将其识别为数组,然后再次遍历此数组以打印元素。因此,这是解决方案
if (obj instanceof String[]) {
String[] strArray = (String[]) obj;
System.out.println(Arrays.toString(strArray));
// System.out.println(obj);
}
Run Code Online (Sandbox Code Playgroud) 我很困惑为什么我不能使用该语句来显示数组中的值?
System.out.println(intarray);
这是输出“[I@7852e922”
如果 java 是按值传递的,那么该语句不应该返回数组的值而不是对象引用。这是我使用的修复方法。
System.out.println(Arrays.toString(intarray));
Run Code Online (Sandbox Code Playgroud) 我有一个ArrayList<String>定期添加的。我想要做的是将整个 ArrayList 转换为 aString而不进行循环。谁能告诉我可以不使用循环吗?
编辑:所以我们找到了一些解决方案,比如
list.stream().collect(Collectors.joining());
Run Code Online (Sandbox Code Playgroud)
或者
String result = String.join(",", list);
Run Code Online (Sandbox Code Playgroud)
或其他一些。现在只是为了获取知识,我提出了一个问题,哪种方式是编译器的最佳方式?