很多基础知识点还是不熟悉呀
static
使用 static 关键字定义的实例变量在多个线程中是共享的。当一个变量被声明为 static,意味着它属于类而不是类的实例。因此,无论创建了多少个类的实例,这个变量在所有实例之间都是共享的。
当多个线程同时访问一个类的静态变量时,它们将共享相同的变量实例。这意味着对于一个静态变量的修改将在所有线程中可见,因为它们引用的是相同的内存位置。
为了确保对静态变量的安全访问,可以使用同步机制(如 synchronized 关键字)。这样可以保证在多线程环境下对静态变量的操作是可靠的。
toString
在 Java 中,toString 是一个用于将对象转换为字符串表示的方法。它是所有 Java 对象的公共方法,继承自 java.lang.Object 类。
默认情况下,toString 方法返回一个包含对象的类名、@ 符号和对象的哈希码的字符串表示。例如,对于一个类 MyClass 的实例,其默认的 toString 方法实现如下:
public class MyClass {
// 类的成员和方法...
@Override
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
}
然而,toString 方法通常会被子类覆盖(override),以提供更有用的字符串表示形式。通过重写 toString 方法,可以返回包含对象状态或其他自定义信息的字符串。
数组如何变成String
集合如果直接用.toString(),会返回数组标识符,而不是数组的内容。
要将数组转换为字符串,可以使用 Arrays 类的 toString 方法或使用循环遍历数组并构建字符串的方式。
使用 Arrays.toString 方法
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4};
String arrayString = Arrays.toString(array);
System.out.println(arrayString);
}
}
在上述代码中,我们使用 Arrays.toString 方法将整数数组 array 转换为字符串。输出结果将是 [1, 2, 3, 4]。