小编r3r*_*r57的帖子

计算字符串中的字符不适用于制表符('\ t').我使用错误的方法吗?

我想计算String中的每个char.每个字符都会向计数器添加1,标签应添加4.

我的代码是:

int counter = 0;
for(char c : myString.toCharArray()) {
    if("\t".equals(""+c)) {
        counter = counter + 4;
    } else {
        counter++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我在文本编辑器中创建了很多不同的行,并将制表符空间设置为4.带有字符和数字的行没有问题.一旦我在其间添加了几个选项卡,结果总是大于1.我的编辑器说该行长度为100个字符,但我的代码计数为101.如果一行中有2个或20个选项卡,则无关紧要.总计1太多了.

任何想法或更好的解决方案 也许使用过的方法会导致这种行为?

编辑: 我的测试线:

Line 12: 121 characters ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Line 13: 120 characters dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Line 14: 119 characters with tabs                                                                                   kkk
Line 15: 120 characters with tabs                                                                                   lkkk
Run Code Online (Sandbox Code Playgroud)

我的代码正好为"第12行"计算121个字符,为"第13行"计算120个字符.对于'第14行',它计数为120,对于'第15行'为121个字符.我不知道为什么.换行被忽略.

java string count char

5
推荐指数
1
解决办法
994
查看次数

.contains()的优点和拆分字符串进行比较?

我有一个大约500 000行的文件.每一行都有以下形式:'日期#content'.我想比较一个给定日期的日期,我曾经读过每一行,.split(' # ')把它变成a String[]并将日期与之比较if(lineString[0].equals(givenDate)){...}.既然内容不包含日期,我就可以使用了if(lineString.contains(givenDate)){...}.那么有任何优点(运行时间,效率)或我应该知道的任何困难吗?

编辑: 感谢您的答案和解释..startsWith似乎是最好的解决方案.

java arrays string split

1
推荐指数
1
解决办法
76
查看次数

如何在表列上显示列表,列表项的字段很少

更新:此Qustion移动到 TableColumn应该只显示复杂数据类型的一个特定值,因为它更具体

我想填充一个Person包含复杂数据类型的表name,id并且a List<Person>.目前我得到一个表格正确name,id第三列有其他Persons 的全部信息,但它应该只显示Personss 的名称.有没有办法让我的第三列只显示Person.getName()值?

关键词,欢迎解决!非常感谢你!

编辑:代码

Person.class

public class Person {
    String id;
    String name;
    List<Person> friends;

public String getId() {...}
public String getName() {....}
public List<Person> getFriends {...}
}
Run Code Online (Sandbox Code Playgroud)

TableView.class

public TableView<Person> createTable() {
    TableColumn<Person, String> firstCol = new TableColumn<>("ID");
        TableColumn<Person, String> secondCol = new TableColumn<>("Name");
        TableColumn<Person, List<Person> thirdCol = new TableColumn<>("Friends");

        PropertyValueFactory<Person, String> firstColFactory = new PropertyValueFactory<>( …
Run Code Online (Sandbox Code Playgroud)

javafx tablecolumn javafx-8

0
推荐指数
2
解决办法
5527
查看次数

标签 统计

java ×2

string ×2

arrays ×1

char ×1

count ×1

javafx ×1

javafx-8 ×1

split ×1

tablecolumn ×1