Java StackTraceElement isNativeMethod()方法与示例

StackTraceElement类isNativeMethod()方法

  • isNativeMethod()方法在java.lang包中可用。

  • isNativeMethod()方法用于检查该方法是否为本地方法,该方法是否包含此StackTraceElement表示的执行点。

  • isNativeMethod()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在检查本机方法时,isNativeMethod()方法不会引发异常。

语法:

    public boolean isNativeMethod();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为布尔值-根据给定的情况返回布尔值,

  • 当包含此StackTraceElement表示的执行点的方法是本机时,它将返回true

  • 当包含此StackTraceElement表示的执行点的方法是非本机方法时,它将返回false

示例

//Java程序演示示例 
//boolean isNativeMethod()的StackTraceElement方法 

import java.io.*;
import java.util.*;

public class Native {
    public static void main(String args[]) {
        System.out.println("Native Method :");
        for (int k = 0; k < 2; ++k) {
            //检查线程中的本机方法
            //isNativeMethod()方法
            System.out.print(Thread.currentThread().getStackTrace()[k].getClassName() + " ");
            System.out.println(Thread.currentThread().getStackTrace()[k].isNativeMethod());
        }
    }
}

输出结果

Native Method :
java.lang.Thread false
Native false