Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-and是检查自定义用户定义方法的源代码的代码(请参阅程序中的代码)_Java_Methods - Fatal编程技术网

Java-and是检查自定义用户定义方法的源代码的代码(请参阅程序中的代码)

Java-and是检查自定义用户定义方法的源代码的代码(请参阅程序中的代码),java,methods,Java,Methods,正在寻找在java程序中显示用户创建的自定义方法的代码的方法。我想查看专门命名的自定义java方法的代码。我不是在寻找查看java中内置的那些标准方法的代码的方法 在R中,很容易看到用户创建的函数的代码,或者查看许多内置函数的代码。只需输入函数名,后面不带括号。例如,从function data.frame显示的部分代码如下所示。java中应该有类似的特性,这似乎是合理的 data.frame function (..., row.names = NULL, check.rows = FALS

正在寻找在java程序中显示用户创建的自定义方法的代码的方法。我想查看专门命名的自定义java方法的代码。我不是在寻找查看java中内置的那些标准方法的代码的方法

在R中,很容易看到用户创建的函数的代码,或者查看许多内置函数的代码。只需输入函数名,后面不带括号。例如,从function data.frame显示的部分代码如下所示。java中应该有类似的特性,这似乎是合理的

data.frame

function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, 
    fix.empty.names = TRUE, stringsAsFactors = default.stringsAsFactors()) 
{
    data.row.names <- if (check.rows && is.null(row.names)) 
        function(current, new, i) {
            if (is.character(current)) 
                new <- as.character(new)
            if (is.character(new)) 
                current <- as.character(current)
            if (anyDuplicated(new)) 
                return(current)
            if (is.null(current)) 
                return(new)
            if (all(current == new) || all(current == "")) 
                return(new)
            stop(gettextf("mismatch of row names in arguments of 'data.frame', item %d", 
                i), domain = NA)
        }
    else function(current, new, i) {
        if (is.null(current)) {
            if (anyDuplicated(new)) {
                warning(gettextf("some row.names duplicated: %s --> row.names NOT used", 
                  paste(which(duplicated(new)), collapse = ",")), 
                  domain = NA)
                current
            }
            else new
        }
        else current
    }
    object <- as.list(substitute(list(...)))[-1L]
    mirn <- missing(row.names)
    mrn <- is.null(row.names)
    x <- list(...)
    n <- length(x)
    if (n < 1L) {
        if (!mrn) {
            if (is.object(row.names) || !is.integer(row.names)) 
                row.names <- as.character(row.names)
            if (anyNA(row.names)) 
                stop("row names contain missing values")
            if (anyDuplicated(row.names)) 
                stop(gettextf("duplicate row.names: %s", paste(unique(row.names[duplicated(row.names)]), 
                  collapse = ", ")), domain = NA)
        }
        else row.names <- integer()
        return(structure(list(), names = character(), row.names = row.names, 
            class = "data.frame"))
    }
    vnames <- names(x) 

     etc ...................
data.frame
函数(…,row.names=NULL,check.rows=FALSE,check.names=TRUE,
fix.empty.names=TRUE,stringsAsFactors=default.stringsAsFactors()
{

data.row.names您也可以看到other在Java中制作的函数,但您必须通过源代码来实现。如果您有IDE,则应该具有“显示声明”功能。例如,在IntelliJ中,只需按住ctrl键并单击方法调用,即可显示执行的代码


您在R或例如Python中看到的特性更常见于可以解释的语言。使用Jshell(Java的REPL),您可以直接从REPL中瞥见Java文档,请参见

嗯,这对您来说似乎是合理的,但Java中没有这样的特性。源代码在运行时不可用,因为它是在编译步骤中与字节码相关。只有类型名、函数名和字段名等特定内容可以通过反射获得。如果您使用IDE和Maven等依赖关系管理器,您的IDE可以获取源代码并显示它。请记住,与R不同,Java被编译为字节码,因此JAR通常不包含sources。有关运行时可用的信息,请参阅。