Skip to content

Commit 36e7354

Browse files
oschwaldclaude
andcommitted
Use pattern matching for instanceof
Converts instanceof checks to use Java 17 pattern matching where applicable, eliminating explicit casting and reducing boilerplate. This makes the code more concise and type-safe. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 9a41e67 commit 36e7354

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

src/main/java/com/maxmind/db/Decoder.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,7 @@ private <T> Object decodeByType(
158158
return this.decodeMap(size, cls, genericType);
159159
case ARRAY:
160160
Class<?> elementClass = Object.class;
161-
if (genericType instanceof ParameterizedType) {
162-
ParameterizedType ptype = (ParameterizedType) genericType;
161+
if (genericType instanceof ParameterizedType ptype) {
163162
java.lang.reflect.Type[] actualTypes = ptype.getActualTypeArguments();
164163
if (actualTypes.length == 1) {
165164
elementClass = (Class<?>) actualTypes[0];
@@ -319,8 +318,7 @@ private <T> Object decodeMap(
319318
) throws IOException {
320319
if (Map.class.isAssignableFrom(cls) || cls.equals(Object.class)) {
321320
Class<?> valueClass = Object.class;
322-
if (genericType instanceof ParameterizedType) {
323-
ParameterizedType ptype = (ParameterizedType) genericType;
321+
if (genericType instanceof ParameterizedType ptype) {
324322
java.lang.reflect.Type[] actualTypes = ptype.getActualTypeArguments();
325323
if (actualTypes.length == 2) {
326324
Class<?> keyClass = (Class<?>) actualTypes[0];

src/test/java/com/maxmind/db/DecoderTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,8 +465,8 @@ private static <T> void testTypeDecoding(Type type, Map<T, byte[]> tests)
465465
String key = (String) keyObject;
466466
Object value = expectMap.get(key);
467467

468-
if (value instanceof Object[]) {
469-
assertArrayEquals((Object[]) value, (Object[]) got.get(key), desc);
468+
if (value instanceof Object[] arrayValue) {
469+
assertArrayEquals(arrayValue, (Object[]) got.get(key), desc);
470470
} else {
471471
assertEquals(value, got.get(key), desc);
472472
}

0 commit comments

Comments
 (0)