如何在Java中实现一对一的单向关联(不使用ORM)。我认为双向是可能的。关联意味着两个类(比如Part和PartNumber)需要独立存在,一对一意味着一个部件只有一个部件号,反之亦然,单向意味着部件应该知道部件号但是相反。现在,部件号将如何知道它是否已经分配。如果我们牺牲PartNumber的独立存在,那么它的组成。
答案 0 :(得分:0)
您可以将其实现为单向或双向关联。要么工作。确保1对1属性保持不变可以通过多种方式完成:
在双向情况下,让设置者使用正向或反向链接以确保另一端的对象尚未相关,并可能破坏该关系。
在单向情况下,删除设置部件的PartNumber
或PartNumber
的{{1}}的功能;例如让Part
在其构造函数中创建自己的Part
。
另一种方法是使PartNumber
成为“基于价值的类”,并始终使用PartNumber
来测试相等性。
答案 1 :(得分:-2)
我在这里找到了一个实现:http://programmersthing.blogspot.in/2017/06/java-concepts.html
// Get Path to first external Drive, otherwise "ExternalStorageFolder==null"
public StorageFolder ExternalStorageFolder;
private async void GetFirstExternalStoragePath()
{
try
{
StorageFolder externalDevices;
IReadOnlyList<StorageFolder> externalDrives;
externalDevices = Windows.Storage.KnownFolders.RemovableDevices;
externalDrives = await externalDevices.GetFoldersAsync();
ExternalStorageFolder = externalDrives[0];
TxtStatus.Text = "External Drive:"+ ExternalStorageFolder.Path + " found.";
}
catch (Exception ex)
{
String s = "No external Drive found\n" + ex.ToString();
TxtStatus.Text = s;
ExternalStorageFolder = null;
}
}