Java 我怎样才能知道它们是否属于同一类型 private静态输入(String str) { 字符c; 积分项1; 布尔结果; int n=str.length(); Stack StItem=新堆栈(n); Queue QItem=新队列(n); 对于(int i=0;i
我认为您要查找的是instanceof,格式如下:Java 我怎样才能知道它们是否属于同一类型 private静态输入(String str) { 字符c; 积分项1; 布尔结果; int n=str.length(); Stack StItem=新堆栈(n); Queue QItem=新队列(n); 对于(int i=0;i,java,comparison,dereference,Java,Comparison,Dereference,我认为您要查找的是instanceof,格式如下: private static void ParseInput(String str) { char c ; Integing item1; boolean result; int n =str.length(); Stack StItem = new Stack(n); Queue QItem = new Queue(n);
private static void ParseInput(String str)
{
char c ;
Integing item1;
boolean result;
int n =str.length();
Stack StItem = new Stack(n);
Queue QItem = new Queue(n);
for (int i=0; i<n; i++){
c = str.charAt(i);
if ((c == '(') || (c=='[') || (c=='{')){
Integing item = new Integing(i,c);
StItem.push(item);
}else if((c==')') || (c==']') || (c=='}')){
item1 = StItem.pop();
result = item1.getChar().class ==(c.class); //where i do the check
if (result ){
Pair pair1 = new Pair(item1.getNumber(),i);
QItem.put(pair1);
}else{
System.out.println("Syntax error");
System.exit(-1);
}
}
}
}
public class Integing
{
private int num;
private char par;
public Integing(int numb,char paren)
{
num = numb;
par = paren;
}
public char getChar(){
return this.par; //The method i use to get the exact type
}
public int getNumber(){
return this.num;
}
}
以下是一些有关用法的文档:
<>我对你想做的事情有点困惑,尽管在你的代码中实现了函数。但是,我看不出它是如何在代码的上下文中帮助你的。请把你的错误粘贴为文本,而不是图像。总之,C和ITEM1. PAR都是字符,那么它们是如何不同类型的呢?U不能调用字符上的GET类,因为char是一个原始类型。总之,这里没有用。我的任务表示,ItEM1.PAR是从SITTEM中提取的左括号,所以我应该检查它是否与C相同类型。谢谢链接BTW:感谢您的链接,毕竟我的代码中确实不需要比较。不过,您的建议可能有助于其他人比较char,因为它是一个基本类,.getClass不起作用!:)
Boolean isChar = item instanceof Character;