gpt4 book ai didi

Java以点开头的多个函数

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:45:36 24 4
gpt4 key购买 nike

Java 中有一种语句我无法理解,甚至无法通过谷歌搜索找到任何相关信息。我想分享一个我写的但不了解语言结构的例子:

MvcResult result = this.mockMvc.perform(MockMvcRequestBuilders.post("/user_sessions/first")
.contentType(MediaType.APPLICATION_JSON)
.content("{\"username\":\""+username+"\",\"password\":\""+password+"\"}"))
.andExpect(MockMvcResultMatchers.status().isOk())
.andReturn();

我不明白 contentType 、content、andExpect 和 andReturn 是什么。明明是函数,可是我怎么能这样称呼呢。他们属于哪个类(Class)?总的来说,我对这里的结构很困惑。

最佳答案

您在这里看到的称为流畅的界面。流畅的接口(interface)是一种通过级联方法调用来帮助提高代码可读性的机制。当您创建一个方法时,返回值是该类的返回值,因此在伪代码中,这类似于 -

class Foo {
private String baa;
private String moo;
public Foo setBaa( String baa ) {
this.baa = baa;
return this;
}
public Foo setMoo( String moo ) {
this.moo = moo;
return this;
}
}

注意:使用 this 作为返回值表明我们正在返回当前的 foo 实例。这将允许以下行为-

Foo test = new Foo();
test.setBaa( "baa" ).setMoo( "moo" );

如果您想了解有关 Fluent 界面的更多信息,请查看 http://en.wikipedia.org/wiki/Fluent_interface这给出了相当深入的解释。

关于Java以点开头的多个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com