Это отлично работает для меня:
public class MethodInvokerClass {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, ClassNotFoundException, InvocationTargetException, InstantiationException {
Class c = Class.forName(MethodInvokerClass.class.getName());
Object o = c.newInstance();
Class[] paramTypes = new Class[1];
paramTypes[0]=String.class;
String methodName = "countWord";
Method m = c.getDeclaredMethod(methodName, paramTypes);
m.invoke(o, "testparam");
}
public void countWord(String input){
System.out.println("My input "+input);
}
}
Выход:
My input testparam
Я могу для вызова метода путем передачи его имени другому методу (например, main).
Нет API, который извлекает только одно поле из документа. Все документы всегда извлекаются, когда вы используете getDocument () . Это означает, что также нет способа использовать правила безопасности для защиты одного поля в документе по-другому, чем другие.
Если вы пытаетесь свести к минимуму количество данных, которые попадают на провод, вы можете поместите это одиночное поле в свой собственный документ в подколлекцию основного документа, и вы можете запросить один документ отдельно.
См. также этот поток обсуждения .
Вы можете создавать новые коллекции privates внутри основной коллекции и устанавливать разные правила доступа.
Проверить на: Firebase Firestore получить частные поля
Надеюсь, я помог тебе.