小编Mil*_*ara的帖子

当实例变量作为arraylist存在时类的不变性

我有一个不可变的类

假设我有一个类型为ArrayList的成员变量的getter方法.在那种情况下,当我获得对该变量的引用时,我可以添加或删除它中的元素.在那种情况下,不变性似乎被侵犯了.

任何人都可以详细解释这个概念吗?

java immutability

5
推荐指数
1
解决办法
352
查看次数

如何在Java中编写一个等式方法

考虑将等式方法添加到以下类简单点:

public class Point {

    private final int x;
    private final int y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

//我对equals的定义

public boolean equals(Point other) {
  return (this.getX() == other.getX() && this.getY() == other.getY());
}
Run Code Online (Sandbox Code Playgroud)

这种方法有什么问题?乍一看,似乎工作正常:

Point p1 = new Point(1, 2);
Point p2 = new Point(1, 2);

Point q = new Point(2, 3);

System.out.println(p1.equals(p2)); // prints …
Run Code Online (Sandbox Code Playgroud)

java equality

5
推荐指数
1
解决办法
351
查看次数

共享扩展程序 - 自 iOS 14 以来首次尝试时应用未显示在共享菜单中

升级到 Xcode 12 和 iOS 14 后,似乎开始发生一些奇怪的事情。

应用程序以前在共享菜单选项中显示正常,但突然间它表现得很奇怪并且只在第二次尝试之后才显示。

我的目标是获取网页网址。这是我的共享激活规则。

在此处输入图片说明

我什至尝试过新项目并添加了上面带有激活规则的共享扩展。它也做同样的事情,并且应用程序仅从第二次开始显示在共享选项中。此问题主要发生在 Safari 中。

它曾经在 iOS 14 之前运行良好,我也没有在 iOS 14 更改日志中找到任何可能导致问题的共享扩展。谁能帮我指出可能出错的地方或某些可能的原因。

提前致谢!!!

ios ios-app-extension ios8-share-extension ios14

5
推荐指数
1
解决办法
1296
查看次数

析构函数如何在c ++中工作

这是我的c ++代码:

  class Sample
    {
    public:
            int *ptr;
            Sample(int i)
            {
            ptr = new int(i);
            }
            ~Sample()
            {
            delete ptr;
            }
            void PrintVal()
            {
            cout << "The value is " << *ptr;
            }
    };
    void SomeFunc(Sample x)
    {
    cout << "Say i am in someFunc " << endl;
    }
    int main()
    {
    Sample s1= 10;
    SomeFunc(s1);
    s1.PrintVal();
    }
Run Code Online (Sandbox Code Playgroud)

它返回我的输出,如:

Say i am in someFunc 
Null pointer assignment(Run-time error)
Run Code Online (Sandbox Code Playgroud)

这里,当对象通过值传递给SomeFunc时,控件从函数返回时会调用该对象的析构函数

我应该对吗?如果是,那为什么会发生?什么解决方案?

c++ oop destructor

4
推荐指数
2
解决办法
3560
查看次数

哪一个更可取:字典或散列表

考虑到性能成本,我常常对它们感到困惑,dictionaryhashtable希望对它们进行比较......

哪一个更具成本效益?

.net c# java

2
推荐指数
1
解决办法
759
查看次数

XML反序列化而不指定XmlRootAttribute

这是我的xml:

<connections total="2" >
       <person>
              <id>ohKiUAZWz2</id>
              <first-name>???????</first-name>
              <last-name>§|-|ä|-|»?«</last-name>
              <headline>--</headline>
            </person>
       <person>
              <id>LmgYe-Nl2a</id>
              <first-name>kunal</first-name>
              <last-name>b</last-name>
              <headline>Student at MscIT,Surat</headline>               
          </person>
</connection>
Run Code Online (Sandbox Code Playgroud)

从代码背后:

List<LinkWall> LinkWallList = new List<LinkWall>();
            XmlNodeList xmlnode = doc.GetElementsByTagName("person");

            foreach (XmlElement ele in xmlnode)
            {

                XmlRootAttribute xr = new XmlRootAttribute("person");

                XmlSerializer mySerializer = new XmlSerializer(typeof(LinkWall),xr);

                StringReader re = new StringReader(ele.InnerXml);

                LinkWallList.Add((LinkWall)mySerializer.Deserialize(re));
            }
Run Code Online (Sandbox Code Playgroud)

这是我的班级定义:

[XmlRoot("person")]
    public class LinkWall
    {
        public LinkWall()
        { }

        [XmlElement(ElementName =  "id")]
        public string id { get; set; }

        [XmlElement(ElementName = "first-name")]
        public string firstName { get; …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-serialization xml-deserialization

2
推荐指数
1
解决办法
2713
查看次数