Java中如何从String数组获取元素,完善Lehma类构造方法
如何在Java中从String数组获取元素并完善构造方法?
嘿,这问题很简单,咱们一步一步来搞定!
首先,Java里从数组中获取元素的核心语法就是 数组名[索引值],你已经通过new Random().nextInt(NAMES.length)生成了一个合法的随机索引(这个方法会返回0到NAMES.length-1之间的整数,刚好匹配数组的有效索引范围,不会出现数组越界问题),接下来只需要用这个索引从NAMES数组里取出对应的字符串,然后赋值给name属性就可以了。
完善后的构造方法代码如下:
public Lehma() { Random random = new Random(); int index = random.nextInt(NAMES.length); // 从数组中获取对应索引的元素,赋值给name属性 this.name = NAMES[index]; // 如果你需要给volumes属性初始化,也可以在这里补充,比如: // this.volumes = 0; }
小优化建议(可选)
每次调用构造方法都新建一个Random实例其实不太高效,而且如果短时间内多次创建对象,随机数的分布可能不够均匀。你可以把Random实例改成类的静态成员,这样整个类共享一个随机数生成器:
import java.util.Random; public class Lehma { private static final String[] NAMES = new String[]{ "Anu", "Arpa", "Essi", "Heluna", "Hely", "Hento", "Hilke", "Hilsu", "Hymy", "Matti", "Ilme", "Ilo", "Jaana", "Jami", "Jatta", "Laku", "Liekki", "Mainikki", "Mella", "Mimmi", "Naatti", "Nina", "Nyytti", "Papu", "Pullukka", "Pulu", "Rima", "Soma", "Sylkki", "Valpu", "Virpi"}; // 静态Random实例,类共享 private static final Random RANDOM = new Random(); private String name; private int volumes; public Lehma() { int index = RANDOM.nextInt(NAMES.length); this.name = NAMES[index]; // 初始化volumes,比如设置默认值 this.volumes = 0; } }
这样就完美解决了从数组取元素并赋值的问题啦!
内容的提问来源于stack exchange,提问作者Juho M
相关产品推荐
相关产品推荐

