栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将带有文本的String []转换为double []

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将带有文本的String []转换为double []

您需要在“,”上拆分list1中的每个String,然后尝试解析每个被拆分的String:

    ArrayList<Double[]> results = Lists.newArrayList();    for( String s : list1 ) {        String[] splitStrings = s.split(",");        Double[] doublesForCurrentString = new Double[splitStrings.length];        for(int i=0; i<splitStrings.length; i++){ try {     doublesForCurrentString[i] = Double.valueOf(splitStrings[i]); } catch( NumberFormatException ex ) {     // No action. }        }        results.add(doublesForCurrentString);    }    Double[][] doubleArray = (Double[][])results.toArray();

关键点:

  • 编辑 :正如@Tim Herold所指出的,在性能方面,您可能会更好,避免尝试解析您知道的非数字内容。在这种情况下,我仍然会先进行拆分,然后再放入代码中,以防止您尝试在每行的第一个拆分String上解析parseDouble(),而不是尝试在拆分之前进行String替换;这样会更快(并且如果我们不关心性能,那么try / catch非常好并且可读性更好)。 原文 :当您尝试分析双打时,如果有任何无效输入,则需要try / catch。奖励:您现在不需要删除非数字文本,只需让此try / catch处理即可。
  • 您的琴弦各有 两个 双打。您将不能只在开头删除文本,然后解析其余文本,因为这将不是有效的double。
  • ArrayList通常更易于使用;我会选择返回
    ArrayList<Double>
    (或
    ArrayList<ArrayList<Double>>
    )以上
    Double[]
    Double[][]
    每周的任何一天。当然,在某些情况下,我会做一些不同的事情,但是您的情况在我看来并不像其中之一。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428983.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号