当前位置: 首页 > 知识库问答 >
问题:

在Java中实例化对象时,控制字符是如何变成非法字符的?

华景明
2023-03-14

重新排列。java:6:错误:非法字符:'\u0010'

import java.util.*;

public class Rearrange {
    public static void rearrange(Queue<Integer> q) {
        // TODO: Your code here
        Queue<Integer> tempq=new LinkedList<Integer>();
        int size = q.size();
        for (int i = 0; i < size; i++) {
            int currentInt = q.remove();
            if (currentInt % 2 == 0) {
                q.add(currentInt);
            } else {
                tempq.add(currentInt);
            }
        }
        int tempSize = tempq.size();
        for (int i = 0; i < tempSize; i++) {
            q.add(tempq.remove());
        }
    }

    public static void main(String[] args) {
        Queue<Integer> q = new LinkedList<Integer>();
        q.add(3);
        q.add(5);
        q.add(4);
        q.add(17);
        q.add(6);
        q.add(8);
        rearrange(q);
        System.out.println(q);
    }
}

共有1个答案

爱唯
2023-03-14

当您将代码从其他地方复制并粘贴到代码编辑器中时,可能会在不知情的情况下复制不可见(可能是非法的)字符。

Unicode有各种各样的字符可供选择,其中很大一部分属于术语控制字符。这些字符,当输入时,执行一些特殊的功能。更重要的是,这些字符放在代码编辑器中时通常是不可见的。最重要的是,Java语言对于何时何地可以使用控制字符有严格的规则。

对于您的特殊情况,\u0010与“数据链路转义”相关联,您可以在这里阅读它的一些用法。然而,就Java而言,这一行绝对是一个不允许非法字符存在的实例。

例如,假设我想将Pilcrow符号打印到控制台上。

system.out.println(“\u00b6”);

您应该会在控制台上看到类似于此的字符。

 类似资料:
  • 问题内容: 我有一个来自UI的字符串,其中可能包含控制字符,并且我想删除除 回车符 , 换行符 和 制表 符之外的所有控制字符。 现在,我可以找到两种删除所有控制字符的方法: 1-使用番石榴: 2-使用正则表达式: 问题答案: 如果要删除其他字符或控制uni-code类别中的所有字符,可以执行以下操作 注意: 实际上,这实际上从字符串中除去了(\ u008f)Unicode字符,而不是转义的形式“

  • 问题内容: 我正在使用自动化,并使用Jsch连接到远程设备并自动执行一些任务。 我在解析命令结果时遇到问题,因为有时它们带有ANSI Control chars 。 目前,我正在尝试此操作,但我不确定它是否足够完整。 如何从Java字符串中删除ANSI控制字符(VT100)? 问题答案: 大多数ANSI VT100序列的格式为 (可选)后跟一个数字或由分隔的两个数字,后接一些不是数字或。的字符。所

  • 我在我的一个java对象上有一个相当大的id。当它将其转换为JSON时,它会将其作为一个数字(例如{“id”:1000110040000000001})发送下来,但一旦它成为javascript对象,id就会更改为1000110040000000000。我在这里读到这个问题 当id较小时,它可以正常工作。我的第一个想法是强迫Jackson将所有数字转换成字符串,但我也愿意接受其他选择。如果可能的话

  • 本文向大家介绍为什么字符串对象在Java中是不可变的?,包括了为什么字符串对象在Java中是不可变的?的使用技巧和注意事项,需要的朋友参考一下 通常,字符串用于表示重要细节,例如数据库连接URL,用户名密码等。字符串的不变性有助于使这些细节保持不变。 类似地,在加载类时,将String用作参数。那时,更改字符串可能会导致加载错误的类。 如果不可变,则变量(字符串)自动为线程安全的。

  • 问题内容: 我正在解析包含数字字符实体字符的XML,例如(但不限于)Java中的(换行符回车<>)。解析时,我将节点的文本内容附加到StringBuffer上,以便稍后将其写到文本文件中。 但是,当我将String写入文件或打印出文件时,这些unicode字符会被解析或转换为换行符/空格。 在Java中遍历XML文件的节点并将文本内容节点存储到String时,如何保留原始的数字字符实体字符符号?

  • 问题内容: 我是编程的新手,我想知道实例化对象时哪里出错了。下面是代码: 问题答案: 您的代码中没有类。您声明的是私有方法。 使用当前代码段,您需要实例化该类并利用该方法。注意,在这种情况下,您的类定义前面有关键字 class。 但这并没有实际意义,您的方法总是会返回。 您是否正在尝试执行以下操作: