我正在读一本关于java的书,作者做了一些变量论证.它是这样的:
public int num(int ... nums){}
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,它看起来就像nums一个数组.所以我认为上面的代码可以替换为:
public int num(int[] nums){}
Run Code Online (Sandbox Code Playgroud)
我的问题:变量参数有什么意义?你能改变其他类型的类型String吗?
从书中读取重载的构造函数后,我厌倦了以下代码:
public class Employee {
String name;
int idNumber;
public Employee(){
this("JJ", 0);
System.out.println(name +" "+ idNumber);
}
public Employee(String name, int num){
this.name = name;
idNumber = num;
System.out.println(name +" 2nd "+ idNumber);
}
}
public class Object1 {
public static void main(String[] args) {
Employee emp = new Employee();
}
}
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
JJ 2nd 0
JJ 0
Run Code Online (Sandbox Code Playgroud)
我真的很困惑.为什么"JJ 2nd 0"首先打印出"JJ 0"?我创建了一个雇员对象emp并且没有在参数中传递任何args,是不是先调用第一个构造函数?
我不确定我到底在做什么,所以请给出一些建议并原谅我的错误.
我有一个byte[]调用的图像idCardImage,我做了以下操作将其转换为字符串:
String s = new String(idCardImage);
Run Code Online (Sandbox Code Playgroud)
它打印出来像这样:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAEHUlEQVQ4TzWUW49VRRCFv6rq3ufMmTNn....
Run Code Online (Sandbox Code Playgroud)
做了一些在线搜索,似乎这个图像是png基于64编码的格式.
我需要做的是将其转换为jpeg格式,然后将其存储在新的字节数组中.你能就如何用Java做一些建议吗?
所以我正在测试一些代码,他们在这里:
public class Phone {
String phoneNumber = "1234";
void setNumber(){
String phoneNumber;
phoneNumber = "4321";
}
}
public class TestPhone {
public static void main(String[] args) {
// TODO Auto-generated method stub
Phone p1 = new Phone();
p1.setNumber();
System.out.println(p1.phoneNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
1234
为什么不4321呢?我叫setNumber所以phoneNumber应该分配给4321,我缺少什么?
快速提问:
public class AppendStringBuilder {
public static void main(String args[]){
StringBuilder sb1 = new StringBuilder();
sb1.append("java");
sb1.append(new Person("Oracle"));
System.out.println(sb1);
}
}
package hello;
public class Person {
String name;
Person(String str){
name = str;
}
}
Run Code Online (Sandbox Code Playgroud)
输出:javahello.Person@2c538cc2
这背后的原因?不打印JavaOracle