草庐IT

char_type

全部标签

Java Raw Type 和泛型交互

如果我有一个Stack类classStack{}现在如果我这样做:1)Stacks=newStack()2)Stacks=newStack()3)Stacks=newStack()任何人都可以向我解释这些交互(通用原始)的原因吗?我的疑问主要集中在第1点上。事实上,如果我这样做,赋值是不安全的,因为该堆栈可以存储Integer以外的类型。是的,但如果我有一个推送方法并尝试存储一个整数以外的值,编译器会阻止我...所以当我进行不安全的操作时? 最佳答案 这三个都是完全合法的,因为Stack之间没有实际的运行时差异。和一个Stack,但

java - 如何使 Swig 正确包装在 C 中修改为 Java Something-or-other 的 char* 缓冲区?

我正在尝试包装一些遗留代码以便在Java中使用,我很高兴看到Swig能够处理头文件并且它生成了一个几乎可以工作的优秀包装器。现在我正在寻找能让它真正发挥作用的深层魔法。在C中我有一个看起来像这样的函数DLL_IMPORTintDustyVoodoo(char*buff,intlen,char*curse);此函数返回的这个整数是错误代码,以防失败。参数是buff是一个字符缓冲区len是缓冲区中数据的长度curse包含调用DustyVoodoo的结果的另一个字符缓冲区所以,你可以看到这是怎么回事,结果实际上是通过第三个参数返回的。另外len令人困惑,因为它可能是两个缓冲区的长度,它们在调

java - 为什么我可以在没有显式强制转换的情况下将 int 分配给 char 变量?

我想知道为什么这段代码有效。charch1;ch1='a'+1;System.out.println(ch1);在第2行中,不是将右侧提升为int然后将int分配给char,不会我们需要一个明确的转换?同样,我理解当您执行ch1=65时会发生什么。但是由于Java不允许自动向下类型转换,我们不需要从int显式转换为char吗? 最佳答案 因为JavaLanguageSpecification说:Inaddition,iftheexpressionisaconstantexpression(§15.28)oftypebyte,shor

java - 如何将包含字符转义序列的字符串转换为 char?

我正在寻找一种方法将包含字符转义序列的字符串转换为表示的字符。例如,我想将字符串\"(有两个字符,一个反斜杠和一个双引号)解析为字符"。因此,一组字符变成一个字符。所以可能会做这样的事情,反之亦然:packagetest;publicclassTest{privatestaticcharparseChar(Stringstring){charc=0;if("\\n".equals(string)){c='\n';}elseif("\\t".equals(string)){c='\t';}elseif("\\r".equals(string)){c='\r';}elseif("\\f".

java - 当 char 没有值时,如何避免 StringIndexOutOfBoundsException?

抱歉,如果标题没有意义,但我不知道如何表达。问题:我正在制作一个多项选择问答游戏,它可以从用户那里获得a、b、c或d。如果他们按照他们的指示去做,这没有问题,但是如果他们不输入任何内容而只是按回车键,我会得到一个StringIndexOutOfBoundsException。我明白为什么会这样,但我是Java的新手,想不出修复它的方法。我目前拥有的:System.out.println("EntertheAnswer.");response=input.nextLine().charAt(0);if(response=='a'){System.out.println("Correct"

java - 仅将 char[] 的一部分复制到 String

我有一个数组char[]ch。我的问题如下。如何将ch[2]到ch[7]的值合并到一个字符串中?我想在不循环遍历char数组的情况下实现这一点。有什么建议吗?感谢您花时间回答我的问题。 最佳答案 使用newString(value,offset,count),reference.其中offset是起始索引,count是您的索引差异。在你的例子中,它是7-2=5。显然,值是您的字符数组。 关于java-仅将char[]的一部分复制到String,我们在StackOverflow上找到一个类

java - 是否值得合并 byte[] 和 char[] 数组,还是只创建更好

我的代码做了很多输入/输出,这通常涉及创建临时数组来保存字节或一定大小的字符——我经常使用4096。我开始怀疑——没有实际测试——来验证它是否会更好地汇集这些数组。我的代码会变成这样takearrayfrompooltry{readfromoneinputStreamwritetoanotheroutputstreamusingarray}finally{returnarraytopool}使用4096获取或简单地创建一个字节会更快,这意味着需要一些工作来在堆上分配内存,清除4096字节等。池似乎更简单,毕竟它可能只是检查从列表中获取的列表并返回数组。更新我写了一个小程序,做了两件事,

Java 多态性 : How can I avoid type casting input parameters?

假设我们有一个带有compare()函数的Parent接口(interface)。publicinterfaceParent{publicintcompare(ParentotherParent);}假设childChild1、Child2、Child3实现了这个接口(interface)ParentpublicclassChild1implementsParent{@Overridepublicintcompare(Parentother){Child1otherChild=(Child1)other;}}此外,我正在使用泛型代码中的其他地方。所以我需要从代码的其他部分比较两个类型为

Java String/Char charAt() 比较

我看到了您可以使用charAt()方法进行的各种比较。但是,我真的不能理解其中的一些。Stringstr="asdf";str.charAt(0)=='-';//Whatdoesitmeanwhenit'sequalto'-'?charc='3';if(c如有任何帮助,我们将不胜感激。 最佳答案 //Whatdoesitmeanwhenit'sequalto'-'?每个字母和符号都是一个字符。您可以查看字符串的第一个字符并检查是否匹配。在这种情况下,您获取第一个字符并查看它是否是减号字符。这个减号是(char)45见下文//Howa

Java - 错误 : return type is incompatible

我正在学习Java。我试图运行代码,但出现此错误:returntypeisincompatible。显示错误的部分代码。classA{publicvoideat(){}}classBextendsA{publicbooleaneat(){}}为什么会这样? 最佳答案 这是因为我们不能在具有相同名称但返回类型不同的类中拥有两个方法。子类不能声明一个与父类中已经存在的方法具有相同名称但返回类型不同的方法。但是,子类可以声明一个与父类(superclass)具有相同签名的方法。我们称之为“覆盖”。你需要有这个,classA{publicv