通过java反射如何检查方法名称是否在camelCase中?
例如

import java.lang.reflect.*;

   public class TestClass {
      private int simpleMethod(
       Object p, int x) throws NullPointerException
      {
         if (p == null)
            throw new NullPointerException();
         return x;
      }

      public static void main(String args[])
      {
         try {
           Class cls = Class.forName("method1");

            Method methlist[]
              = cls.getDeclaredMethods();
            for (int i = 0; i < methlist.length;
               i++) {
               Method m = methlist[i];
               System.out.println("name= " + m.getName());

            }
         }
         catch (Throwable e) {
            System.err.println(e);
         }
      }
   }


在这里,我正在获取方法名称simpleMethod和main
我必须检查这些名称是否在camelCase中。

最佳答案

这个问题定义不明确。很容易检查一串字母是否以小写字母([a-z][a-zA-z]*)开头,或者将它们切成大写字母(例如参见How do I convert CamelCase into human-readable names in Java?),并验证它们是否是某些给定词典中的单词,诸如此类,但是除非告诉您在哪里寻找大写字母,否则几乎不可能检查字符串在语义上是否正确。


bitterAFlop是正确的骆驼案吗?也许应该是bitTeraflop
getLinenUmber呢? (是的!"umber"是一个单词!)
那其他语言的单词呢?

09-10 05:50
查看更多