March 28, 2020
By: Kevin
clojure.reflect
使用clojure.reflect迅速获得Java的'文档'
查JavaDoc挺麻烦的, 而且很多时候看看函数签名就够了...
(->> ""
clojure.reflect/reflect
:members
(filter #(contains? (:flags %) :public))
(map #(select-keys % [:name :parameter-types :return-type]))
clojure.pprint/print-table)
可以获得String类中的所有公有属性. clojure.reflect/reflect 的参数可以是一个java class, 也可以是一个java class 的instance.
对于不太熟悉的Class, 尤其有用
| :name | :parameter-types | :return-type |
|------------------------+--------------------------------------------------------+----------------------------|
| replaceAll | [java.lang.String java.lang.String] | java.lang.String |
| CASE_INSENSITIVE_ORDER | | |
| codePointCount | [int int] | int |
| resolveConstantDesc | [java.lang.invoke.MethodHandles$Lookup] | java.lang.String |
| getChars | [int int char<> int] | void |
| regionMatches | [int java.lang.String int int] | boolean |
| isEmpty | [] | boolean |
| codePointAt | [int] | int |
| lastIndexOf | [java.lang.String] | int |
| startsWith | [java.lang.String int] | boolean |
| java.lang.String | [byte<>] | |
| charAt | [int] | char |
| getBytes | [] | byte<> |
| split | [java.lang.String] | java.lang.String<> |
| valueOf | [long] | java.lang.String |
| intern | [] | java.lang.String |
| join | [java.lang.CharSequence java.lang.Iterable] | java.lang.String |
| compareTo | [java.lang.String] | int |
| hashCode | [] | int |
| java.lang.String | [java.lang.StringBuilder] | |
| stripLeading | [] | java.lang.String |
| indexOf | [java.lang.String] | int |
| format | [java.lang.String java.lang.Object<>] | java.lang.String |
| indexOf | [int int] | int |
| indexOf | [java.lang.String int] | int |
| java.lang.String | [int<> int int] | |
| toString | [] | java.lang.String |
| substring | [int int] | java.lang.String |
| getBytes | [int int byte<> int] | void |
| lastIndexOf | [java.lang.String int] | int |
| indent | [int] | java.lang.String |
| valueOf | [float] | java.lang.String |
| startsWith | [java.lang.String] | boolean |
| replace | [char char] | java.lang.String |
| lastIndexOf | [int int] | int |
| indexOf | [int] | int |
| chars | [] | java.util.stream.IntStream |
| isBlank | [] | boolean |
| getBytes | [java.nio.charset.Charset] | byte<> |
| java.lang.String | [byte<> int int java.nio.charset.Charset] | |
| format | [java.util.Locale java.lang.String java.lang.Object<>] | java.lang.String |
| lines | [] | java.util.stream.Stream |
| transform | [java.util.function.Function] | java.lang.Object |
| contentEquals | [java.lang.StringBuffer] | boolean |
| copyValueOf | [char<> int int] | java.lang.String |
| java.lang.String | [byte<> java.lang.String] | |
| concat | [java.lang.String] | java.lang.String |
| valueOf | [char] | java.lang.String |
| codePointBefore | [int] | int |
| trim | [] | java.lang.String |
| valueOf | [char<>] | java.lang.String |
| java.lang.String | [] | |
| java.lang.String | [byte<> int] | |
| java.lang.String | [java.lang.StringBuffer] | |
| formatted | [java.lang.Object<>] | java.lang.String |
| valueOf | [int] | java.lang.String |
| java.lang.String | [byte<> int int java.lang.String] | |
| valueOf | [double] | java.lang.String |
| java.lang.String | [char<> int int] | |
| java.lang.String | [char<>] | |
| compareTo | [java.lang.Object] | int |
| compareToIgnoreCase | [java.lang.String] | int |
| replaceFirst | [java.lang.String java.lang.String] | java.lang.String |
| describeConstable | [] | java.util.Optional |
| contains | [java.lang.CharSequence] | boolean |
| endsWith | [java.lang.String] | boolean |
| valueOf | [boolean] | java.lang.String |
| repeat | [int] | java.lang.String |
| java.lang.String | [byte<> int int int] | |
| matches | [java.lang.String] | boolean |
| equalsIgnoreCase | [java.lang.String] | boolean |
| offsetByCodePoints | [int int] | int |
| toLowerCase | [] | java.lang.String |
| resolveConstantDesc | [java.lang.invoke.MethodHandles$Lookup] | java.lang.Object |
| valueOf | [java.lang.Object] | java.lang.String |
| toUpperCase | [] | java.lang.String |
| java.lang.String | [java.lang.String] | |
| regionMatches | [boolean int java.lang.String int int] | boolean |
| toUpperCase | [java.util.Locale] | java.lang.String |
| stripTrailing | [] | java.lang.String |
| java.lang.String | [byte<> java.nio.charset.Charset] | |
| toCharArray | [] | char<> |
| substring | [int] | java.lang.String |
| toLowerCase | [java.util.Locale] | java.lang.String |
| equals | [java.lang.Object] | boolean |
| stripIndent | [] | java.lang.String |
| replace | [java.lang.CharSequence java.lang.CharSequence] | java.lang.String |
| strip | [] | java.lang.String |
| codePoints | [] | java.util.stream.IntStream |
| valueOf | [char<> int int] | java.lang.String |
| lastIndexOf | [int] | int |
| translateEscapes | [] | java.lang.String |
| length | [] | int |
| split | [java.lang.String int] | java.lang.String<> |
| subSequence | [int int] | java.lang.CharSequence |
| join | [java.lang.CharSequence java.lang.CharSequence<>] | java.lang.String |
| contentEquals | [java.lang.CharSequence] | boolean |
| copyValueOf | [char<>] | java.lang.String |
| java.lang.String | [byte<> int int] | |
| getBytes | [java.lang.String] | byte<> |