这段代码中的“.get(0)”是啥?

Posted

技术标签:

【中文标题】这段代码中的“.get(0)”是啥?【英文标题】:What is the ".get(0)" in this piece of code?这段代码中的“.get(0)”是什么? 【发布时间】:2021-07-15 06:33:57 【问题描述】:

我不明白我应该用 .get(0) 做什么。

我只是想做的是向它声明一个频道和消息。

我得到了一个解决方案,它似乎非常适合我的用例,但它没有深入解释代码的作用。我唯一不明白的是 .get(0) 是什么或它的作用。

这是我为我的用例找到的解决方案:Send message to specific channel in Discord with JDA

到目前为止,这是我的代码:

TextChannel channel1 = event.getGuild().getTextChannelsByName(eventChannel,true).get(0);
channel1.sendMessage("The event-channel has been set to this channel.").queue();

我希望有人可以解释更多关于 .get(0) 部分以及我应该将值设置为的内容。那就是发生运行失败的地方。 (我还没有将值设置为任何值,因为我不知道如何处理或设置它)

【问题讨论】:

"这就是运行失败发生的地方。" - 如果您遇到错误,您应该在这里询问并发布有关错误的详细信息。您似乎对 Java 还是很陌生,或者您不会对 get(0) 感到困惑。在深入研究更复杂的事物之前,请先尝试基础知识。这样你就可以省去很多麻烦了。 @Thomas 很抱歉,如果我让我的问题看起来好像我对 java 很陌生。我做了一些简单的java项目,现在已经学习了大约1年。我完成了大部分基础知识,但跳过了一些,因为它们似乎没有必要。这就是为什么我不明白 .get(0) 的用途。 嗯,这应该暗示跳过基础知识不是最好的选择。您还应该学习诸如分解调用链、分析返回值、阅读 javadocs 和使用调试器等技能。您很可能会遇到很多情况,您不能立即理解一段代码,并且能够自己分析它(至少在某种程度上)是一项很好的技能。这样你应该能够看到 getTextChannelsByName(eventChannel,true) 返回的内容,然后查看返回元素上的 get(int) 方法的作用。 【参考方案1】:

.get(0)和前面的一样(.getGuild(),getTextChannelsByName(…)):一个方法调用。

event.getGuild() 为您提供了一个对象,除其他外,它还提供对文本通道的访问。 .getTextChannelsByName(…) 为您提供由给定名称标识的文本频道列表。

由于您只想要一个频道,并且您甚至可能希望获得一个频道,因此您将获得此列表的元素 #0,这是通过列表中的.get(0) 完成的。

【讨论】:

以上是关于这段代码中的“.get(0)”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

& 在这段代码中的作用是啥?

这段代码中的“<+”是啥意思? [复制]

这段关于 url 的代码在 webview 中的位置是啥?

这段代码中的错误/错误是啥 c++ 告诉我更正?

菜鸟问题:javascript中e是啥意思,是DOM中的事件还是啥?请看下面的这段代码

string::npos 在这段代码中是啥意思?