为了账号安全,请及时绑定邮箱和手机立即绑定

String.indexOf()疑问

String.indexOf()疑问

慕森卡 2019-03-13 14:14:36
先上代码:package test;import java.util.Scanner;public class Char_01 {    public static final String ENTRY_SPLIT = "" + (char) 1;    public static final String KEY_VALUE_SPLIT = "" + (char) 2;    public static void main(String args[]) {        System.out.println("ENTRY_SPLIT:" + ENTRY_SPLIT + "\nKEY_VALUE_SPLIT:" + KEY_VALUE_SPLIT);        Scanner scanner = new Scanner(System.in);        Char_01 _char = new Char_01();        _char.check(scanner.next());    }    public void check(String value) {        if (-1 != value.indexOf(ENTRY_SPLIT) || -1 != value.indexOf(KEY_VALUE_SPLIT)) {            throw new IllegalArgumentException("Message的properties不能包含'(char)1' 或 '(char)2'特殊字符");        }    }}这段代码中的check怎么做到校验特殊字符的? 为什么System.out.println(String.valueOf((char) 1));可以表示特殊字符??还是只是用来校验(char)1和(char)2这两个特殊字符??表示不理解。
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

这个程序只check了(char) 1和(char) 2的特殊字符而已,对应的就是check ASCII码的01和02这两个字符,写的比较奇怪而已。


查看完整回答
反对 回复 2019-04-18
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你要对应ASCII表去看,你就明白含义了,这代码表示存在char 为1或者2的特殊字符时,抛异常


查看完整回答
反对 回复 2019-04-18
  • 2 回答
  • 0 关注
  • 415 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信