我有这个旧的遗留代码:
依赖
com.google.guava:guava:15.0
@Entity
@Table(name = "profiles")
public class Profile {
@Id
@Column(name = "id", nullable = false)
private UUID id;
@JoinColumn(
name = "recipient_profile")
private Profile recipientProfile;
....
}
@Entity
@Table(name = "standalone_credit")
public class StandaloneCredit {
@Id
@Column(name = "id", nullable = false)
private UUID id;
@JoinColumn(name = "recipient_profile_internal_id")
private Profile recipientBusinessProfile;
....
}
import com.google.common.base.MoreObjects;
StandaloneCredit credit;
Profile recipientProfile =
MoreObjects.firstNonNull(credit.getRecipientProfile(), credit.getRecipientBusinessProfile());
com.google.guava:guava:15.0
是 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix:2.2.10.RELEASE'
的依赖项
如何在不破坏代码逻辑的情况下用核心 Java 代码实现替换 MoreObjects
?
Objects.requireNonNullElse
:
Profile recipientProfile =
Objects.requireNonNullElse(credit.getRecipientProfile(), credit.getRecipientBusinessProfile());