小编Mar*_*eel的帖子

Java的record类是如何实现同步的?

由于 Record 类实例没有公共 Object 实例所具有的 obj 头。但是我们仍然可以使用同步功能,例如:

public record User(long id, String name, int age) {}

User user = new User(1, "name", 18);
synchronized (user) {
    user.wait();
    System.out.println("test");
}
Run Code Online (Sandbox Code Playgroud)

从轻量级锁到重级锁的转换过程会不会像普通对象实例一样?

java java-16

-3
推荐指数
1
解决办法
126
查看次数

NULL 作为第八种“原始”数据类型

由 Java 鲜为人知的数据类型“null”引起的无意识查询。

有人能够澄清“null”是否是 Java 语言保留的文字,以及它作为原始数据类型和数字值之间的差异吗?

NULL default_object_value; // a Syntax error
NULL acct_balance_at_westbank = null; // Another Syntax error

String aStrokeOfLuck = null; // a feasible variable declaration & assignment
Run Code Online (Sandbox Code Playgroud)

java javac primitive-types java-8

-3
推荐指数
1
解决办法
93
查看次数

equals() 和 hashCode() 可以是 lambda 表达式吗?

我是 Java 新手。有人可以向我解释一下这里使用 lambda 和方法有什么区别吗?

方法等于()

  @Override
  public boolean equals(Object o) {

    if (this == o) {
      return true;
    }
    if (!(o instanceof Book)) {
      return false;
    }

    Book book = (Book) o;

    if (!author.equals(book.author)) {
      return false;
    }
    return title.equals(book.title);
  }
Run Code Online (Sandbox Code Playgroud)

拉姆达等于()

  public Function<Object, Boolean> equals = (Object o) -> {
    if (this == o) {
      return true;
    }
    if (!(o instanceof Book)) {
      return false;
    }

    Book book = (Book) o;

    if (!author.equals(book.author)) {
      return false;
    }
    return …
Run Code Online (Sandbox Code Playgroud)

java lambda equals hashcode class-method

-4
推荐指数
1
解决办法
330
查看次数

这个计算 a -= a + a 是如何进行的?(int a = 1) 执行结果是-1,不是1

int a = 1;

a -= a + a;
Run Code Online (Sandbox Code Playgroud)

上面的代码结果是-1,我期望它是1。

但下面的代码实际上让我得到了 1

a = a - a + a
Run Code Online (Sandbox Code Playgroud)

他们不应该是一样的吗?第一个代码如何变为-1?

我试图研究加法和减法的数学运算顺序,我认为我会对它们的工作原理产生误解。但看起来我通过对计算进行从左到右的操作是正确的。

java

-4
推荐指数
2
解决办法
82
查看次数

如何将列表转换为复杂的字符串

我想转这个清单:

['1','2','3','4']
Run Code Online (Sandbox Code Playgroud)

进入这个字符串:

"%(1)s, %(2)s, %(3)s, %(4)s"
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做,最好是在一线?

python string list

-5
推荐指数
1
解决办法
45
查看次数