首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Java中的字符串中获取第一个字母的最佳方法是什么?返回长度为1的字符串?

从Java中的字符串中获取第一个字母的最佳方法是什么?返回长度为1的字符串?

提问于 2018-03-29 07:15:50
回答 2关注 0查看 2.8K

假设如下:

代码语言:javascript
复制
String example      = "something";
String firstLetter  = "";

是否存在与以下firstLetter可能影响绩效的分配方式相关的差异?这将是最好的,为什么?

代码语言:javascript
复制
firstLetter = String.valueOf(example.charAt(0));
firstLetter = Character.toString(example.charAt(0));
firstLetter = example.substring(0, 1);

的第一个字母被返回作为其原因String是,这是在Hadoop中正在运行,和一个字符串被要求分配给一个Text类型,firstLetter将被输出作为key从一个map()方法,例如:

代码语言:javascript
复制
public class FirstLetterMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
    String line = new String();
    Text firstLetter = new Text();
    IntWritable wordLength = new IntWritable();

    @Override
    public void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {

        line = value.toString();

        for (String word : line.split("\\W+")){
            if (word.length() > 0) {

                // ---------------------------------------------
                // firstLetter assignment
                firstLetter.set(String.valueOf(word.charAt(0)).toLowerCase());
                // ---------------------------------------------

                wordLength.set(word.length());
                context.write(firstLetter, wordLength);
            }
        }
  }
}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档