mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-27 10:40:29 +00:00
8141652: Rename methods Objects.nonNullElse* to requireNonNullElse*
And some usages of replacing expr != null ? expr : otherexpr Reviewed-by: jrose, chegar
This commit is contained in:
parent
bdbc4d15df
commit
e15eefc7d7
@ -29,6 +29,7 @@ import java.util.NavigableSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import java.util.ServiceLoader;
|
||||
import java.security.AccessController;
|
||||
import java.io.ObjectStreamException;
|
||||
@ -733,7 +734,7 @@ class InetAddress implements java.io.Serializable {
|
||||
*/
|
||||
public String toString() {
|
||||
String hostName = holder().getHostName();
|
||||
return ((hostName != null) ? hostName : "")
|
||||
return Objects.toString(hostName, "")
|
||||
+ "/" + getHostAddress();
|
||||
}
|
||||
|
||||
|
||||
@ -32,6 +32,7 @@ import java.security.PrivilegedAction;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.Objects;
|
||||
import java.util.ServiceConfigurationError;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.StringTokenizer;
|
||||
@ -1250,7 +1251,7 @@ public abstract class URLConnection {
|
||||
|
||||
if (handler != null) {
|
||||
ContentHandler h = handlers.putIfAbsent(contentType, handler);
|
||||
return h != null ? h : handler;
|
||||
return Objects.requireNonNullElse(h, handler);
|
||||
}
|
||||
|
||||
try {
|
||||
@ -1263,7 +1264,7 @@ public abstract class URLConnection {
|
||||
assert handler != null;
|
||||
|
||||
ContentHandler h = handlers.putIfAbsent(contentType, handler);
|
||||
return h != null ? h : handler;
|
||||
return Objects.requireNonNullElse(h, handler);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -37,6 +37,7 @@ import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.ServiceConfigurationError;
|
||||
@ -625,6 +626,7 @@ public abstract class Charset
|
||||
|
||||
private final String name; // tickles a bug in oldjavac
|
||||
private final String[] aliases; // tickles a bug in oldjavac
|
||||
private final String[] zeroAliases = new String[0];
|
||||
private Set<String> aliasSet = null;
|
||||
|
||||
/**
|
||||
@ -642,7 +644,7 @@ public abstract class Charset
|
||||
*/
|
||||
protected Charset(String canonicalName, String[] aliases) {
|
||||
checkName(canonicalName);
|
||||
String[] as = (aliases == null) ? new String[0] : aliases;
|
||||
String[] as = Objects.requireNonNullElse(aliases, zeroAliases);
|
||||
for (int i = 0; i < as.length; i++)
|
||||
checkName(as[i]);
|
||||
this.name = canonicalName;
|
||||
|
||||
@ -419,7 +419,7 @@ public class SecureRandom extends java.util.Random {
|
||||
* @since 1.5
|
||||
*/
|
||||
public String getAlgorithm() {
|
||||
return (algorithm != null) ? algorithm : "unknown";
|
||||
return Objects.toString(algorithm, "unknown");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -310,8 +310,7 @@ public abstract class ZoneId implements Serializable {
|
||||
public static ZoneId of(String zoneId, Map<String, String> aliasMap) {
|
||||
Objects.requireNonNull(zoneId, "zoneId");
|
||||
Objects.requireNonNull(aliasMap, "aliasMap");
|
||||
String id = aliasMap.get(zoneId);
|
||||
id = (id != null ? id : zoneId);
|
||||
String id = Objects.requireNonNullElse(aliasMap.get(zoneId), zoneId);
|
||||
return of(id);
|
||||
}
|
||||
|
||||
|
||||
@ -177,7 +177,7 @@ public interface Chronology extends Comparable<Chronology> {
|
||||
static Chronology from(TemporalAccessor temporal) {
|
||||
Objects.requireNonNull(temporal, "temporal");
|
||||
Chronology obj = temporal.query(TemporalQueries.chronology());
|
||||
return (obj != null ? obj : IsoChronology.INSTANCE);
|
||||
return Objects.requireNonNullElse(obj, IsoChronology.INSTANCE);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
@ -2892,7 +2892,8 @@ public final class DateTimeFormatterBuilder {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ReducedValue(" + field + "," + minWidth + "," + maxWidth + "," + (baseDate != null ? baseDate : baseValue) + ")";
|
||||
return "ReducedValue(" + field + "," + minWidth + "," + maxWidth +
|
||||
"," + Objects.requireNonNullElse(baseDate, baseValue) + ")";
|
||||
}
|
||||
}
|
||||
|
||||
@ -4332,7 +4333,7 @@ public final class DateTimeFormatterBuilder {
|
||||
private String getChronologyName(Chronology chrono, Locale locale) {
|
||||
String key = "calendarname." + chrono.getCalendarType();
|
||||
String name = DateTimeTextProvider.getLocalizedResource(key, locale);
|
||||
return name != null ? name : chrono.getId();
|
||||
return Objects.requireNonNullElseGet(name, () -> chrono.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -146,7 +146,7 @@ final class DateTimePrintContext {
|
||||
if (overrideZone != null) {
|
||||
// if have zone and instant, calculation is simple, defaulting chrono if necessary
|
||||
if (temporal.isSupported(INSTANT_SECONDS)) {
|
||||
Chronology chrono = (effectiveChrono != null ? effectiveChrono : IsoChronology.INSTANCE);
|
||||
Chronology chrono = Objects.requireNonNullElse(effectiveChrono, IsoChronology.INSTANCE);
|
||||
return chrono.zonedDateTime(Instant.from(temporal), overrideZone);
|
||||
}
|
||||
// block changing zone on OffsetTime, and similar problem cases
|
||||
|
||||
@ -49,6 +49,7 @@ import java.text.DecimalFormatSymbols;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.Objects;
|
||||
|
||||
import java.time.DateTimeException;
|
||||
import java.time.Instant;
|
||||
@ -3860,7 +3861,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
ampm = dfs.getAmPmStrings();
|
||||
}
|
||||
String s = ampm[t.get(Calendar.AM_PM)];
|
||||
sb.append(s.toLowerCase(l != null ? l : Locale.US));
|
||||
sb.append(s.toLowerCase(Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
|
||||
@ -3893,7 +3894,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
TimeZone tz = t.getTimeZone();
|
||||
sb.append(tz.getDisplayName((t.get(Calendar.DST_OFFSET) != 0),
|
||||
TimeZone.SHORT,
|
||||
(l == null) ? Locale.US : l));
|
||||
Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -3901,7 +3902,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
case DateTime.NAME_OF_DAY_ABBREV: // 'a'
|
||||
case DateTime.NAME_OF_DAY: { // 'A'
|
||||
int i = t.get(Calendar.DAY_OF_WEEK);
|
||||
Locale lt = ((l == null) ? Locale.US : l);
|
||||
Locale lt = Objects.requireNonNullElse(l, Locale.US);
|
||||
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
|
||||
if (c == DateTime.NAME_OF_DAY)
|
||||
sb.append(dfs.getWeekdays()[i]);
|
||||
@ -3913,7 +3914,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
case DateTime.NAME_OF_MONTH_ABBREV_X: // 'h' -- same b
|
||||
case DateTime.NAME_OF_MONTH: { // 'B'
|
||||
int i = t.get(Calendar.MONTH);
|
||||
Locale lt = ((l == null) ? Locale.US : l);
|
||||
Locale lt = Objects.requireNonNullElse(l, Locale.US);
|
||||
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
|
||||
if (c == DateTime.NAME_OF_MONTH)
|
||||
sb.append(dfs.getMonths()[i]);
|
||||
@ -3984,7 +3985,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
StringBuilder tsb = new StringBuilder();
|
||||
print(tsb, t, DateTime.AM_PM, l);
|
||||
|
||||
sb.append(tsb.toString().toUpperCase(l != null ? l : Locale.US));
|
||||
sb.append(tsb.toString().toUpperCase(Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
case DateTime.DATE_TIME: { // 'c' (Sat Nov 04 12:02:33 EST 1999)
|
||||
@ -4092,7 +4093,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
ampm = dfs.getAmPmStrings();
|
||||
}
|
||||
String s = ampm[t.get(ChronoField.AMPM_OF_DAY)];
|
||||
sb.append(s.toLowerCase(l != null ? l : Locale.US));
|
||||
sb.append(s.toLowerCase(Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
case DateTime.SECONDS_SINCE_EPOCH: { // 's' (0 - 99...?)
|
||||
@ -4131,7 +4132,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
sb.append(TimeZone.getTimeZone(zid.getId())
|
||||
.getDisplayName(zid.getRules().isDaylightSavings(instant),
|
||||
TimeZone.SHORT,
|
||||
(l == null) ? Locale.US : l));
|
||||
Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
sb.append(zid.getId());
|
||||
@ -4141,7 +4142,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
case DateTime.NAME_OF_DAY_ABBREV: // 'a'
|
||||
case DateTime.NAME_OF_DAY: { // 'A'
|
||||
int i = t.get(ChronoField.DAY_OF_WEEK) % 7 + 1;
|
||||
Locale lt = ((l == null) ? Locale.US : l);
|
||||
Locale lt = Objects.requireNonNullElse(l, Locale.US);
|
||||
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
|
||||
if (c == DateTime.NAME_OF_DAY)
|
||||
sb.append(dfs.getWeekdays()[i]);
|
||||
@ -4153,7 +4154,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
case DateTime.NAME_OF_MONTH_ABBREV_X: // 'h' -- same b
|
||||
case DateTime.NAME_OF_MONTH: { // 'B'
|
||||
int i = t.get(ChronoField.MONTH_OF_YEAR) - 1;
|
||||
Locale lt = ((l == null) ? Locale.US : l);
|
||||
Locale lt = Objects.requireNonNullElse(l, Locale.US);
|
||||
DateFormatSymbols dfs = DateFormatSymbols.getInstance(lt);
|
||||
if (c == DateTime.NAME_OF_MONTH)
|
||||
sb.append(dfs.getMonths()[i]);
|
||||
@ -4223,7 +4224,7 @@ public final class Formatter implements Closeable, Flushable {
|
||||
// this may be in wrong place for some locales
|
||||
StringBuilder tsb = new StringBuilder();
|
||||
print(tsb, t, DateTime.AM_PM, l);
|
||||
sb.append(tsb.toString().toUpperCase(l != null ? l : Locale.US));
|
||||
sb.append(tsb.toString().toUpperCase(Objects.requireNonNullElse(l, Locale.US)));
|
||||
break;
|
||||
}
|
||||
case DateTime.DATE_TIME: { // 'c' (Sat Nov 04 12:02:33 EST 1999)
|
||||
|
||||
@ -295,7 +295,7 @@ public final class Objects {
|
||||
* {@code defaultObj} is {@code null}
|
||||
* @since 9
|
||||
*/
|
||||
public static <T> T nonNullElse(T obj, T defaultObj) {
|
||||
public static <T> T requireNonNullElse(T obj, T defaultObj) {
|
||||
return (obj != null) ? obj : requireNonNull(defaultObj, "defaultObj");
|
||||
}
|
||||
|
||||
@ -314,8 +314,9 @@ public final class Objects {
|
||||
* the {@code supplier.get()} value is {@code null}
|
||||
* @since 9
|
||||
*/
|
||||
public static <T> T nonNullElseGet(T obj, Supplier<? extends T> supplier) {
|
||||
return (obj != null) ? obj : requireNonNull(requireNonNull(supplier, "supplier").get(), "supplier.get()");
|
||||
public static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier) {
|
||||
return (obj != null) ? obj
|
||||
: requireNonNull(requireNonNull(supplier, "supplier").get(), "supplier.get()");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -241,12 +241,12 @@ public class BasicObjectsTest {
|
||||
String nonNullString = "non-null";
|
||||
|
||||
// Confirm the compile time return type matches
|
||||
String result = Objects.nonNullElse(nullString, defString);
|
||||
String result = Objects.requireNonNullElse(nullString, defString);
|
||||
errors += (result == defString) ? 0 : 1;
|
||||
errors += (Objects.nonNullElse(nonNullString, defString) == nonNullString) ? 0 : 1;
|
||||
errors += (Objects.nonNullElse(nonNullString, null) == nonNullString) ? 0 : 1;
|
||||
errors += (Objects.requireNonNullElse(nonNullString, defString) == nonNullString) ? 0 : 1;
|
||||
errors += (Objects.requireNonNullElse(nonNullString, null) == nonNullString) ? 0 : 1;
|
||||
try {
|
||||
Objects.nonNullElse(null, null);
|
||||
Objects.requireNonNullElse(null, null);
|
||||
errors += 1;
|
||||
} catch (NullPointerException npe) {
|
||||
// expected
|
||||
@ -254,20 +254,20 @@ public class BasicObjectsTest {
|
||||
}
|
||||
|
||||
|
||||
// Test nonNullElseGet with a supplier
|
||||
errors += (Objects.nonNullElseGet(nullString, () -> defString) == defString) ? 0 : 1;
|
||||
errors += (Objects.nonNullElseGet(nonNullString, () -> defString) == nonNullString) ? 0 : 1;
|
||||
errors += (Objects.nonNullElseGet(nonNullString, () -> null) == nonNullString) ? 0 : 1;
|
||||
// Test requireNonNullElseGet with a supplier
|
||||
errors += (Objects.requireNonNullElseGet(nullString, () -> defString) == defString) ? 0 : 1;
|
||||
errors += (Objects.requireNonNullElseGet(nonNullString, () -> defString) == nonNullString) ? 0 : 1;
|
||||
errors += (Objects.requireNonNullElseGet(nonNullString, () -> null) == nonNullString) ? 0 : 1;
|
||||
|
||||
try {
|
||||
Objects.nonNullElseGet(null, () -> null);
|
||||
Objects.requireNonNullElseGet(null, () -> null);
|
||||
errors += 1;
|
||||
} catch (NullPointerException npe) {
|
||||
// expected
|
||||
errors += npe.getMessage().equals("supplier.get()") ? 0 : 1;
|
||||
}
|
||||
try { // supplier is null
|
||||
Objects.nonNullElseGet(null, null);
|
||||
Objects.requireNonNullElseGet(null, null);
|
||||
errors += 1;
|
||||
} catch (NullPointerException npe) {
|
||||
// expected
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user