Можете ли вы преобразовать метод в строку в Java так же, как вы можете преобразовать функцию в строку в Javascript? - PullRequest
0 голосов
/ 27 января 2019

В javascript, если вы хотите вернуть функцию целиком, вы должны выполнить что-то вроде следующего:

function sum(a, b) {
  return a + b;
}

console.log(sum.toString());
// expected output: "function sum(a, b) {
//                     return a + b;
//                   }"

console.log(Math.abs.toString());
// expected output: "function abs() { [native code] }"

Возможно ли это на языке Java?

1 Ответ

0 голосов
/ 27 января 2019

В Java код компилируется в байт-код, и JVM интерпретирует это, поэтому вы не можете напечатать код внутри метода.

Если вы хотите передать ссылку на метод, вы можете сделать это с помощьюJava 8. Если вы хотите напечатать название метода, в котором вы находитесь, вы можете использовать что-то вроде getEnclosingMethod() или получить текущую трассировку стека, в зависимости от того, что вам нужно.

...