The isSynthetic() method of java.lang.reflect.Field is used to check whether Field Object is a synthetic field or not. If the field is a synthetic field then the function returns true otherwise it will return false. Synthetic Construct: Synthetic Construct is Class, Fields, and Methods that are created by the Java compiler for internal purposes. Syntax:
public boolean isSynthetic()
Parameters: This method accepts nothing. Return: This method returns true if and only if this field is a synthetic field as defined by the Java Language Specification. Below programs illustrate isSynthetic() method: Program 1:
// Java program to illustrate isSynthetic() method import java.lang.reflect.Field;
import java.time.Month;
public class GFG {
public static void main(String[] args)
throws Exception
{
// Get field object
Field field
= Numbers. class .getField("value");
// check field is synthetic or not
System.out.println(
"The Field is isSynthetic: "
+ field.isSynthetic());
}
} // sample Numbers class class Numbers {
// static short value
public static long value = 3114256 ;
} |
The Field is isSynthetic: false
Program 2:
// Java program to illustrate isSynthetic() method import java.lang.reflect.Field;
import java.time.DayOfWeek;
public class GFG {
public static void main(String[] args)
throws Exception
{
// Get field object of Month class
Field[] fields
= DayOfWeek. class
.getDeclaredFields();
for ( int i = 0 ; i < fields.length; i++) {
// print name of Fields
System.out.println(
"The Field "
+ fields[i].toString()
+ "\n is isSynthetic:"
+ fields[i].isSynthetic());
}
}
} |
References: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#isSynthetic–java