Schema.DescribeSObjectResult r = User.sObjectType.getDescribe();
Map<String,Schema.SObjectField> M = r.fields.getMap();
List<String> requiredFields = new List<String>();
for(String fieldName : M.keySet())
{
Schema.SObjectField field = M.get(fieldName);
Schema.DescribeFieldResult F = field.getDescribe();
//A nillable field can have empty content. A isNillable Boolean non-nillable field must have a value for the object to be //created or saved.
// if F.isNillable() is false then field is mandatory
Boolean isFieldreq = F.isNillable() ;
System.debug ('F = ' + fieldName + ' isnul= ' + isFieldreq);
if ( !isFieldreq ) {
requiredFields.add(fieldName+':'+F.getDefaultValue());
}
}
得到的还有系统必须项目,如创建日期,创建人,更新时间等。按照需要,在程序中使用。
Object defaultValue = MyObject__c.MyField__c.getDescribe().getDefaultValue();
Object defaultValue = MyObject__c.SObject.MyField__c.getDescribe().getDefaultValue();