簡體   English   中英

在Smalltalk中,LinkedList對象的深層副本給出了錯誤

[英]In smalltalk, deep copy of LinkedList object gives error

這是我編寫的用於深復制兩個鏈表對象的smalltalk代碼。但是當我這樣做時,Small talk解釋器會引發錯誤,指出:未處理的異常:消息未理解:nextlink。

list1 add:2.
list2 :=list1 dcopy.
list1 ==list2.

請告訴我我的代碼有什么問題。

這是VisualWorks。 LinkedLists是用於內部系統使用的集合,並不旨在用於一般用途。 添加到LinkedLists中的項目必須是Link的子類(或實現nextLink和nextLink :)。 您不能將SmallInteger添加到鏈接列表中。 你可以這樣做:

  LinkedList new
     add: (LinkValue value: 5);
     add: (LinkValue value: 7)

我們通常在Smalltalk中不使用鏈接列表。 我們通常使用OrderedCollection代替。 如果您確實需要一個鏈接列表,請添加作為Link的子類的元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM