问题描述
我的主要问题是我试图使用字符并获取字符的值。我正在研究一种欧拉方法,并且试图获得下一个要点,那就是角色,但是它不允许我为角色做。我只被允许使用Integers。它也不会让我添加到双精度ArrayList中,这会问是否允许这样做。
private ArrayList<ArrayList<Character>> adjacents;
void addEdge(char x,char y)
{
adjacents.get((Character)x).add(y);
}
我知道当我使用整数时这种方法有效,但是我不明白为什么不使用字符。
这是用Java编码的。
答案:
发布此内容后,我得到一个问题,我不能使用字符,而是为字符数组调用函数get,add,remove等。我以前从未听说过,这就是为什么我最初的问题令许多人困惑的原因。让我知道您是否可以这样做,因为从我现在的理解来看,我认为我们不能做到。
解决方法
此问题与method get(int index)
一起提供。如果将它传递给int,将得到所见内容,但是如果将它传递给char
,它将被解释为{{ 3}}值,而将ascii设置为整数。
假设您将其称为字符“ 0”,则隐式转换使您可以使用列表中不存在的ascii / int get(48)
进行呼叫。
一种处理方法是使用Map<Character,ArrayList<Character>>
,这样您的代码即可按预期工作。
但是实际上,从您的评论看来,您可能正在搜索如下内容:
class Edge{
public final char from;
public final char to;
Edge(char from,char to) {
this.from = from;
this.to = to;
}
}
List<Edge> adjacents...