小编Wil*_*Boy的帖子

在Java枚举中覆盖valueof()和toString()

我的值enum是需要在其中包含空格的单词,但枚举不能在其值中包含空格,因此它们全部聚集在一起.我想覆盖toString()添加这些空格我告诉它.

当我使用valueOf()添加空格的相同字符串时,我还希望枚举能够提供正确的枚举.

例如:

public enum RandomEnum
{
     StartHere,
     StopHere
}
Run Code Online (Sandbox Code Playgroud)

呼叫toString()RandomEnum,其值是StartHere返回字符串"Start Here".调用valueof()相同的字符串("Start Here")返回枚举值StartHere.

我怎样才能做到这一点?

java enums overriding tostring value-of

113
推荐指数
4
解决办法
13万
查看次数

C#到Java - 字典?

在Java中是否可以使用已经在其中声明的项来创建一个Dictionary?就像下面的C#代码一样:

   Dictionary<string, int> d = new Dictionary<string, int>()
    {
        {"cat", 2},
        {"dog", 1},
        {"llama", 0},
        {"iguana", -1}
    };
Run Code Online (Sandbox Code Playgroud)

我该怎么做以及我使用什么类型的?我读过字典已经过时了.

c# java dictionary map new-operator

51
推荐指数
3
解决办法
4万
查看次数

Java - 反序列化InvalidClassException(无有效的构造函数)

我正在尝试序列化一个对象,然后在将其数据发送到客户端程序后反序列化它.

这是对象继承如何工作的一个例子.我正在序列化和反序列化的对象是人.

生活 - >动物 - > NPC - >人 - >儿童

Living,Animal和NPC不实现Serializable.我无法改变这三个班级.Person和Child确实实现了Serializable.人与生活也是抽象的阶级.我可以将一个Person(谁是一个Child)序列化并发送它,但是当我尝试反序列化一个Person(谁是一个Child)时,我在Child上得到一个InvalidClassException,说"没有有效的构造函数".

为什么会这样?Must Living,Animal和NPC都实现Serializable?

java serialization deserialization

15
推荐指数
1
解决办法
1万
查看次数

C#程序导致蓝屏?

这只是蓝屏显示的重要内容.我在Windows 7 x64上.

"已检测到问题,Windows已关闭,以防止损坏您的计算机.

PROCESS_HAS_LOCKED_PAGES

*STOP:0x00000076(0x0000000000000000,0xfffffa8009dcd060,0x0000000000000011,0x0000000000000000) "

我现在无法工作,因为每次关闭它都会得到一个蓝屏!除了运行下面的后台工作程序之外,该程序还没有做任何事情.它ping所有可能属于用户家庭网络的地址,并尝试连接到另一个程序将侦听的某个端口.

private void NetworkScanner_DoWork(object sender, DoWorkEventArgs e)
    {
        bool ExceptionEncountered = false;
        int IPsProcessed = 0;

        NetworkSearcherOutput = "Starting network scanner...";
        NetworkSearcher.ReportProgress(0);
        Thread.Sleep(1000);

        foreach (IPAddress IP in Dns.GetHostAddresses(Dns.GetHostName()))
        {
            if (IP.AddressFamily == AddressFamily.InterNetwork)
            {
                string[] Octets = IP.ToString().Split('.');
                Octets[3] = "0";

                IPAddress CurrentAddressIteration = StringArrayToIP(Octets);
                while (GetLastOctet(CurrentAddressIteration) != 255)
                {
                    PingReply Reply = new Ping().Send(CurrentAddressIteration, 5);

                    if (Reply.Status == IPStatus.Success)
                    {
                        NetworkSearcherOutput = CurrentAddressIteration.ToString() + " sent response.";
                        NetworkSearcher.ReportProgress(0);
                        Thread.Sleep(500);

                        InClient Client = …
Run Code Online (Sandbox Code Playgroud)

c# sockets thread-safety

7
推荐指数
2
解决办法
4199
查看次数

Java - 使用'super'关键字

简单的问题.我创建了一个名为Tester1的类,它扩展了另一个名为Tester2的类.Tester2包含一个名为"ABC"的公共字符串.

这是Tester1:

public class Tester1 extends Tester2
{
    public Tester1()
    {
         ABC = "Hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我改为将第5行更改为

super.ABC = "Hello"; 
Run Code Online (Sandbox Code Playgroud)

我还在做同样的事吗?

java extends super keyword

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

Eclipse IDE - 支持Microsoft .NET Framework的C#插件

是否有Eclipse插件允许您使用.Net Framework而不是Mono 编写C#代码?

c# eclipse ide plugins

4
推荐指数
1
解决办法
2133
查看次数

Java - 列表中的对象是按值还是引用保存的?

简单的问题,Java中的列表是按值还是引用来保存对象的?如果我将一个对象放在一个列表中,然后更改其中一个值,那么列表中的那个值是否具有更新的值?

java reference list

4
推荐指数
1
解决办法
8560
查看次数

无法在ListView跨线程中获取项目

我的后台工作者需要遍历ListView中的每个项目.但是我不能这样做:

foreach (ListViewItem Item in List.Items)
Run Code Online (Sandbox Code Playgroud)

因为它是一个跨线程操作.

我也不能将这些项放在ListView.ListViewItemCollection中并使后台工作者从中读取.这仍然是尝试访问ListView并创建跨线程操作.

如何将ListView的项目提供给后台工作程序,而无需将它们放在某个变量中?

c# listview backgroundworker thread-safety

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

Java - 反射:仅获取属于当前类的字段

如何才能获得仅与当前类相关联的字段,而不是其所有父类?

public class BaseClass()
{
     public int x = 0;
}

public class AnotherClass() extends BaseClass
{
     public int y = -1;
     public int z = -2;

     public void doStuff()
     {
          for(Field f : this.getClass().getFields())
          {
              //Save each field to a file
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

我想只得到属于AnotherClass的Y和Z. 但是上面也给了我X.

这意味着要替换必须键入我想要保存的每个值.它没有以任何典型格式保存.它必须像这样保存,所以不建议以不同的方式保存字段.

过滤掉每个字段的名称会使其失败,因为有超过200个.

java reflection field class

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

Java - 从反射中排除超类字段

我正在使用此代码获取与Object关联的所有字段.有问题的对象有三个超类,其他类从这个对象扩展.

for (Field f : this.getClass().getFields()){
    try{
        fieldName = f.getName();
        fieldType = f.getType().toString();
        //Do more stuf
    }
Run Code Online (Sandbox Code Playgroud)

我不想获得与超类相关联的字段,但我想要当前类中的所有字段以及可能从中扩展的所有字段.

如何过滤掉我需要的字段?

java reflection field class superclass

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

如何搜索其内容与另一个匹配的数组?

我有一个int数组的ArrayList,当我询问它是否包含指定的坐标时返回false.它确实包含我请求的坐标,因此它应该返回TRUE.

这是我的代码.

    //debug code
    for (int i = 0; i < Locations.size(); i++)
    {
        int[] TestLoc = Locations.get(i);

        System.out.print(TestLoc[0] + " " + TestLoc[1] + " " + TestLoc[2] + " == " + Location[0] + " " + Location[1] + " " + Location[2] + "? - ");

        if (Location == TestLoc)
        {
            System.out.println("TRUE");
        }

        else
        {
            System.out.println("FALSE");
        }
    }

    //real code
    if (Locations.contains(Location))
    {
        Locations.remove(Location);
    }

    else
    {
        System.out.println("FAIL");
    }
Run Code Online (Sandbox Code Playgroud)

并输出,当列表包含4个坐标时请求坐标57,64,105.

56 64 105 == 57 …

java arrays equality reference contains

0
推荐指数
1
解决办法
179
查看次数