这段代码中的“.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)”是啥?的主要内容,如果未能解决你的问题,请参考以下文章