- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我尝试打印 MyList 对象时,我都会得到“User@”一些十六进制数字。有人可以帮我解决打印功能或主要打印的方法吗?我听说尝试覆盖 toString 函数,但我似乎无法让它工作,并且不确定这是否是正确的做法。
public class MyList {
private ListElement head, tail; //Forward declaration
void add(Object value) {
if (tail != null) {
tail.next = new ListElement(value);
tail = tail.next;
}
else {
head = tail = new ListElement(value);
}
}
Object remove()
{
assert head != null; // don't remove on empty list
Object result = head.value;
head = head.next;
if (head == null) { //was that the last?
tail = null;
}
return result;
}
//Nested class needed only in the implementation of MyList
private class ListElement {
ListElement(Object value) {this.value = value;}
Object value;
ListElement next; //defaults to null as desired
}
public static void main(String[] args) {
myList anInstance = new myList();
String someValue = "A list element";
anInstance.add(someValue);
String anotherValue = "Another value";
anInstance.add(anotherValue);
}
}
我尝试的覆盖是这样的:
@Override
public String toString() {
return String.format(this.head);
}
}
最佳答案
您声明:
The override I tried went something like this:
@Override
public String toString() {
return String.format(this.head);
}
}
这是一个开始,现在不只是打印头部,而是使用 while 循环迭代整个列表,并创建一个包含所有元素信息的新字符串。然后返回该字符串。
即,
@Override
public String toString() {
ListElement tail = this.tail;
// or you might need to start at the head element depending on which way
// you will iterate.
String returnString = "";
// use a while loop here to go through your list
// and add pertinent info from each element to the returnString
return returnString;
}
}
请注意,如果您想要 super 高效,您可以使用 StringBuilder 来进行串联,但是对于您的应用程序来说,这可能有点过头了,而且没有必要。
注释 2:希望 ListElement 有一个 toString()
方法,如果是这样,请在 while 循环内使用它来获取每个元素的信息。
下一次迭代:
@Override
public String toString() {
String returnString = "";
ListElement currentElement = this.tail;
while (currentElement != null) {
returnString += // *** get toString() info from currentElement
currentElement = // **** reset currentElement to next element
}
return returnString;
}
}
关于java - 如何打印 MyList 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19085190/
我只是在看 functools.lru_cache 的实现,当我偶然发现这个片段时: root = [] # root of the circular doubly linked list root
假设我们有一个这样的列表: mylist = [1, 2, 3] mylist.count(mylist) 是否有可能返回 0 以外的任何值? 最佳答案 当然,如果 list 对象包含其自身,这是可能
以下“就地”反转列表并在 Python 2 和 3 中工作: >>> mylist = [1, 2, 3, 4, 5] >>> mylist[:] = reversed(mylist) >>> myl
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is the difference between slice assignment that s
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Creating a list in Python- something sneaky going on?
大概都是 mylist.reverse()和 list.reverse(mylist)最终执行 reverse_slice 在 listobject.c通过 list_reverse_impl 或 P
我正在使用 os.walk() 过滤目录组件: exclude_dirs = ['a', 'b'] for root, dirs, files in os.walk(mytopdir): dirs
这个问题对你们中的一些人来说可能有点不言自明,但我真的想了解以下之间的相似之处:List myList = new ArrayList(); { 在 JAVA 中} 和 Vertex* myList
有没有人知道一种非常简单的方法来做到这一点。例如: List myList=new ArrayList(); myList.add(s1); myList.add(s2); List newList=
这个问题在这里已经有了答案: Adding items to a LIST<> of objects results in duplicate Objects when using a NEW in
我一直在考虑为 Controller Controller 实现单元测试,特别是围绕测试集合。关于MSDN example使用CollectionAssert.Contains()确认对象是否出现在列
我遇到了一些非常酷的 t-sql,可以从一个 t-sql 查询中的选定行生成一个逗号分隔的列值列表: SELECT @MyList = ISNULL(@MyList,'') + Title + ',
为什么不同的行给出不同的返回值? val tagIds = postData._1 map (TagTable.newTag(_)) // tagIds is defined as val tagId
在 main 方法中,mylist.BuildList 行给出错误package mylist does not exit。 由于所有内容都在一个文件中,因此我不明白此错误。 我已经从程序中删除了所有
我有两个枚举列表。我想从另一个列表中搜索字符串值。 public class AzureFileModel { public String imageName; public Stri
每当我尝试打印 MyList 对象时,我都会得到“User@”一些十六进制数字。有人可以帮我解决打印功能或主要打印的方法吗?我听说尝试覆盖 toString 函数,但我似乎无法让它工作,并且不确定这是
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包含有效代码以重现该问题。请参阅SSCCE.o
我想创建一个行为类似于列表的类。挑战是在不使用列表或字典的情况下做到这一点。到目前为止,我已经创建了一个如下所示的节点类: class Node: def __init__(self, val
什么是添加新内容的权利 $scope.myList = [] ,什么时候我想操作DOM? 我试过 $scope.myList.push(data); ,它在末尾添加新数据,因此在 ng-repeate
( 更新: 可能只发生在 CPython 3.8 32 位的 Windows 中,所以如果您不能在其他版本中重现它,请不要感到惊讶。请参阅更新部分中的表格。) 两者 iter和 reversed导致列
我是一名优秀的程序员,十分优秀!