com.google.common.reflect.TypeToken.getGenericSuperclass()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(89)

本文整理了Java中com.google.common.reflect.TypeToken.getGenericSuperclass()方法的一些代码示例,展示了TypeToken.getGenericSuperclass()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TypeToken.getGenericSuperclass()方法的具体详情如下:
包路径:com.google.common.reflect.TypeToken
类名称:TypeToken
方法名:getGenericSuperclass

TypeToken.getGenericSuperclass介绍

[英]Returns the generic superclass of this type or null if the type represents Object or an interface. This method is similar but different from Class#getGenericSuperclass. For example, new TypeToken(){}.getGenericSuperclass()} will return new TypeToken>() {}}; while StringArrayList.class.getGenericSuperclass() will return ArrayList, where E is the type variable declared by class ArrayList.

If this type is a type variable or wildcard, its first upper bound is examined and returned if the bound is a class or extends from a class. This means that the returned type could be a type variable too.
[中]返回此类型的泛型超类,如果该类型表示对象或接口,则返回null。此方法与类#getGenericSuperclass类似但不同。例如,new TypeToken(){}。getGenericSuperclass()}将返回新的TypeToken>({});而StringArrayList。班getGenericSuperclass()将返回ArrayList,其中E是类ArrayList声明的类型变量。
如果此类型是类型变量或通配符,则检查其第一个上限,如果该上限是类或从类扩展而来,则返回该上限。这意味着返回的类型也可以是类型变量。

代码示例

代码示例来源:origin: google/guava

@Override
 @Nullable
 TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: google/j2objc

@Override
 @NullableDecl
 TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: wildfly/wildfly

@NullableDecl
 @Override
 TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: google/guava

public void testGetGenericSuperclass_wildcard_boundIsClass() {
 assertEquals(
   TypeToken.of(Object.class),
   TypeToken.of(Types.subtypeOf(Object.class)).getGenericSuperclass());
 assertEquals(
   new TypeToken<Object[]>() {},
   TypeToken.of(Types.subtypeOf(Object[].class)).getGenericSuperclass());
}

代码示例来源:origin: google/guava

public void testGetGenericSuperclass_wildcard_lowerBounded() {
 assertEquals(
   TypeToken.of(Object.class),
   TypeToken.of(Types.supertypeOf(String.class)).getGenericSuperclass());
 assertEquals(
   new TypeToken<Object>() {},
   TypeToken.of(Types.supertypeOf(String[].class)).getGenericSuperclass());
 assertEquals(
   new TypeToken<Object>() {},
   TypeToken.of(Types.supertypeOf(CharSequence.class)).getGenericSuperclass());
}

代码示例来源:origin: google/guava

public void testGetGenericSuperclass_withSuperclass() {
 TypeToken<? super ArrayList<String>> superToken =
   new TypeToken<ArrayList<String>>() {}.getGenericSuperclass();
 assertEquals(ArrayList.class.getSuperclass(), superToken.getRawType());
 assertEquals(
   String.class, ((ParameterizedType) superToken.getType()).getActualTypeArguments()[0]);
 assertEquals(TypeToken.of(Base.class), TypeToken.of(Sub.class).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), TypeToken.of(Sub[].class).getGenericSuperclass());
}

代码示例来源:origin: google/guava

public void testGetGenericSuperclass_wildcard_boundIsInterface() {
 assertNull(TypeToken.of(Types.subtypeOf(CharSequence.class)).getGenericSuperclass());
 assertEquals(
   new TypeToken<CharSequence[]>() {},
   TypeToken.of(Types.subtypeOf(CharSequence[].class)).getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T> void testGetGenericSuperclass_typeVariable_unbounded() {
 assertEquals(
   TypeToken.of(Object.class),
   TypeToken.of(new TypeCapture<T>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T extends List<String> & CharSequence, T1 extends T>
  void testGetGenericSuperclass_typeVariable_boundIsTypeVariableAndInterface() {
 assertNull(TypeToken.of(new TypeCapture<T1>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T1[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T extends ArrayList<String> & CharSequence>
  void testGetGenericSuperclass_typeVariable_boundIsClass() {
 assertEquals(
   new TypeToken<ArrayList<String>>() {},
   TypeToken.of(new TypeCapture<T>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T extends Enum<T> & CharSequence>
  void testGetGenericSuperclass_typeVariable_boundIsFBoundedClass() {
 assertEquals(
   new TypeToken<Enum<T>>() {},
   TypeToken.of(new TypeCapture<T>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T extends List<String> & CharSequence>
  void testGetGenericSuperclass_typeVariable_boundIsInterface() {
 assertNull(TypeToken.of(new TypeCapture<T>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: google/guava

public <T extends ArrayList<String> & CharSequence, T1 extends T>
  void testGetGenericSuperclass_typeVariable_boundIsTypeVariableAndClass() {
 assertEquals(
   TypeToken.of(new TypeCapture<T>() {}.capture()),
   TypeToken.of(new TypeCapture<T1>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: at.bestsolution.efxclipse.eclipse/com.google.guava

@Nullable
 @Override TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

@Nullable
 @Override TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: org.jboss.eap/wildfly-client-all

@NullableDecl
 @Override
 TypeToken<?> getSuperclass(TypeToken<?> type) {
  return type.getGenericSuperclass();
 }
};

代码示例来源:origin: com.google.guava/guava-tests

public void testGetGenericSuperclass_wildcard_boundIsClass() {
 assertEquals(TypeToken.of(Object.class),
   TypeToken.of(Types.subtypeOf(Object.class)).getGenericSuperclass());
 assertEquals(new TypeToken<Object[]>() {},
   TypeToken.of(Types.subtypeOf(Object[].class)).getGenericSuperclass());
}

代码示例来源:origin: com.google.guava/guava-tests

public void testGetGenericSuperclass_wildcard_boundIsInterface() {
 assertNull(TypeToken.of(Types.subtypeOf(CharSequence.class)).getGenericSuperclass());
 assertEquals(new TypeToken<CharSequence[]>() {},
   TypeToken.of(Types.subtypeOf(CharSequence[].class)).getGenericSuperclass());
}

代码示例来源:origin: com.google.guava/guava-tests

public <T extends List<String> & CharSequence>
void testGetGenericSuperclass_typeVariable_boundIsInterface() {
 assertNull(TypeToken.of(new TypeCapture<T>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

代码示例来源:origin: com.google.guava/guava-tests

public <T extends ArrayList<String> & CharSequence, T1 extends T>
void testGetGenericSuperclass_typeVariable_boundIsTypeVariableAndClass() {
 assertEquals(TypeToken.of(new TypeCapture<T>() {}.capture()),
   TypeToken.of(new TypeCapture<T1>() {}.capture()).getGenericSuperclass());
 assertEquals(TypeToken.of(Object.class), new TypeToken<T[]>() {}.getGenericSuperclass());
}

相关文章

微信公众号

最新文章

更多

TypeToken类方法