org.springframework.core.ResolvableType.forField()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(140)

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

ResolvableType.forField介绍

[英]Return a ResolvableType for the specified Field.
[中]返回指定字段的ResolvableType。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Test
public void forField() throws Exception {
  Field field = Fields.class.getField("charSequenceList");
  ResolvableType type = ResolvableType.forField(field);
  assertThat(type.getType(), equalTo(field.getGenericType()));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void classType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("classType"));
  assertThat(type.getType().getClass(), equalTo((Class) Class.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void isAssignableFromForComplexWildcards() throws Exception {
  ResolvableType complex1 = ResolvableType.forField(AssignmentBase.class.getField("complexWildcard1"));
  ResolvableType complex2 = ResolvableType.forField(AssignmentBase.class.getField("complexWildcard2"));
  ResolvableType complex3 = ResolvableType.forField(AssignmentBase.class.getField("complexWildcard3"));
  ResolvableType complex4 = ResolvableType.forField(AssignmentBase.class.getField("complexWildcard4"));
  assertAssignable(complex1, complex2).equalTo(true);
  assertAssignable(complex2, complex1).equalTo(false);
  assertAssignable(complex3, complex4).equalTo(true);
  assertAssignable(complex4, complex3).equalTo(false);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveClassType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("classType"));
  assertThat(type.resolve(), equalTo((Class) List.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void hasUnresolvableGenerics() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringList"));
  assertThat(type.hasUnresolvableGenerics(), equalTo(false));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void typeVariableType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("typeVariableType"));
  assertThat(type.getType(), instanceOf(TypeVariable.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveWildcardTypeUpperBounds() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("wildcardType"));
  assertThat(type.getGeneric().resolve(), equalTo((Class) Number.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveVariableGenericArrayUnknownWithFallback() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("variableTypeGenericArray"));
  assertThat(type.getType().toString(), equalTo("T[]"));
  assertThat(type.isArray(), equalTo(true));
  assertThat(type.toClass(), equalTo((Class) Object.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void isAssignableFromForSameClassNonExtendsGenerics() throws Exception {
  ResolvableType objectList = ResolvableType.forField(AssignmentBase.class.getField("listo"), Assignment.class);
  ResolvableType stringList = ResolvableType.forField(AssignmentBase.class.getField("lists"), Assignment.class);
  assertAssignable(stringList, objectList).equalTo(false);
  assertAssignable(objectList, stringList).equalTo(false);
  assertAssignable(stringList, stringList).equalTo(true);
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveVariableGenericArrayUnknown() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("variableTypeGenericArray"));
  assertThat(type.getType().toString(), equalTo("T[]"));
  assertThat(type.isArray(), equalTo(true));
  assertThat(type.resolve(), nullValue());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveGenericMultiArrayType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("genericMultiArrayType"));
  assertThat(type.resolve(), equalTo((Class) List[][][].class));
  assertThat(type.getComponentType().resolve(), equalTo((Class) List[][].class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void forArrayComponent() throws Exception {
  ResolvableType elementType = ResolvableType.forField(Fields.class.getField("stringList"));
  ResolvableType type = ResolvableType.forArrayComponent(elementType);
  assertThat(type.toString(), equalTo("java.util.List<java.lang.String>[]"));
  assertThat(type.resolve(), equalTo(List[].class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void getComponentTypeForGenericArrayType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("genericArrayType"));
  assertThat(type.isArray(), equalTo(true));
  assertThat(type.getComponentType().getType(),
      equalTo(((GenericArrayType) type.getType()).getGenericComponentType()));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveVariableFromFieldTypeUnknown() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("parameterizedType"));
  assertThat(type.resolve(), equalTo((Class) List.class));
  assertThat(type.getGeneric().resolve(), nullValue());
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void nestedWithArray() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("genericArrayType"));
  type = type.getNested(2);
  assertThat(type.resolve(), equalTo((Class) List.class));
  assertThat(type.resolveGeneric(), equalTo((Class) String.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveVariableFromFieldType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringList"));
  assertThat(type.resolve(), equalTo((Class) List.class));
  assertThat(type.getGeneric().resolve(), equalTo((Class) String.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveGenericArrayFromGeneric() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringArrayList"));
  ResolvableType generic = type.asCollection().getGeneric();
  assertThat(generic.getType().toString(), equalTo("E"));
  assertThat(generic.isArray(), equalTo(true));
  assertThat(generic.resolve(), equalTo((Class) String[].class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void genericOfGenericWithAs() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringListList")).asCollection();
  assertThat(type.toString(), equalTo("java.util.Collection<java.util.List<java.lang.String>>"));
  assertThat(type.getGeneric().asCollection().toString(), equalTo("java.util.Collection<java.lang.String>"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveGenericArrayType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("genericArrayType"));
  assertThat(type.resolve(), equalTo((Class) List[].class));
  assertThat(type.getComponentType().resolve(), equalTo((Class) List.class));
  assertThat(type.getComponentType().getGeneric().resolve(), equalTo((Class) String.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveVariableFromInheritedField() throws Exception {
  ResolvableType type = ResolvableType.forField(
      Fields.class.getField("stringIntegerMultiValueMap")).as(Map.class);
  assertThat(type.getGeneric(0).resolve(), equalTo((Class) String.class));
  assertThat(type.getGeneric(1).resolve(), equalTo((Class) List.class));
  assertThat(type.getGeneric(1, 0).resolve(), equalTo((Class) Integer.class));
}

相关文章

微信公众号

最新文章

更多