小编das*_*ght的帖子

如何将Exceptional对象转换为Java检查过的Exception之一?

当我们有一个自定义异常时,比如说SkillRequiredException,我们检查一些条件,比如检查员工的技能,如果条件失败,我们会抛出SkillRequiredException.直到这个我很清楚.

但是我们FileInputStream上课吧.它抛出FileNotFound检查异常.当我看到FileInputStream源代码时,我看不到任何地方 - 检查某些条件(和)throw FileNotFoundException.

我的问题是,JVM如何知道该文件不存在以及JVM创建的异常对象如何被识别为在类中FileNotFoundException使用?throw FileNotFoundExceptionFileInputStream

java exception-handling

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

将十六进制代码数组插入整数

我正在尝试做一些我认为非常基本的事情,但要么我只是忽略了一些明显的东西,要么实际上有点棘手.我的问题是:我有一个包含4个十六进制值的4个字符数组.例如:

array[0] = 0xD8
array[1] = 0xEC
array[2] = 0xA2 
array[3] = 0x83
Run Code Online (Sandbox Code Playgroud)

我想将这个数组存储在一个带有组合值的整数中,在本例中为0xD8ECA283

我已经尝试进行逻辑OR然后移位,并且使用此方法我设法将0xD8的值存储在整数中,但不是其余的.任何提示将不胜感激.

c

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

可定义值和值之间的运算符定义在哪里(相等,大于等)?

如果我有这个代码(我在Linqpad中运行它):

decimal? x = null;
(x < 1).Dump();
Run Code Online (Sandbox Code Playgroud)

在可空的十进制和十进制之间定义了LessThan运算符?

它不是十进制的?它不在十进制类中.

我基本上想要创建调用运算符的linq表达式.

或者这个代码是由编译器在运行时创建的,即它使用默认的十进制运算符然后添加一些额外的语句来检查可空值是否实际具有值?

c#

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

删除重复项而不覆盖hashCode()

出于企业原因,我无法覆盖hashCode,我必须使用Java 6(但我可以使用番石榴)

什么是最佳/最简单/最快/最有效/ [插入相当于最佳的不确定形容词]机制从Java集合中删除重复的bean?

副本由返回相同值的getter子集定义,例如

pojoA.getVal() == pojoB.getVal() && pojoA.getOtherVal() == pojoB.getOtherVal()
Run Code Online (Sandbox Code Playgroud)

java collections guava

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

C#Linq查询帮助删除foreach循环创建更清晰的代码

有没有办法使用linq删除for循环来解决我的问题

我想获得每个学生和该列表中每个主题的主题和总分:

IEnumerable<Student> students = new List<Student> {
    new Student() {Id = 1, Name = "John", Age = 13},
    new Student() {Id = 2, Name = "Mary", Age = 12},
    new Student() {Id = 3, Name = "Anne", Age = 14}
};
Run Code Online (Sandbox Code Playgroud)

我有第二个列表,其中包含所有分数和主题信息:

IEnumerable<StudentScore> studentScores = new List<StudentScore> {
    new StudentScore() {StudentId = 1, Subject = "Maths", Points = 54},
    new StudentScore() {StudentId = 1, Subject = "Maths", Points = 32},
    new StudentScore() {StudentId = 1, Subject = "English", Points …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

ObjectInputStream.readObject() 给出 EOFException

我对编程完全陌生,所以我很难解决自己的错误。有人建议我在这个网站上尝试一下,所以我想为什么不试一试。

我发现的有关此错误的其他帖子似乎不太相关:大多数人建议关闭输入流,但我的代码已经这样做了。

我想要它做什么:将一个名为“photo”的 Photo 对象写入一个名为“test.ser”的文件中。然后读取文件“test.ser”并将“test.ser”中对象(“photo”)的路径返回给我。

它的实际作用:将一个名为“photo”的 Photo 对象写入“test.ser”。读取“test.ser”,返回一个 EOFException 并且没有路径。

返回路径实际上并不是很重要,只要它返回对我有价值的东西即可。但是当我使用“System.out.println(photo)”或“photo.getId()”时,我遇到了同样的错误。

我不太确定我需要在这里粘贴什么,所以我将发布用于序列化和反序列化对象的两个 try/catch-es:

序列化对象:

    File test = new File("path.../something.ser");
    Photo photo = new Photo(2, "..\\images\\2.jpg", getImage("..\\images\\2.jpg"));

    try {
        FileOutputStream fos = new FileOutputStream(test);
        ObjectOutputStream out = new ObjectOutputStream(fos);

        if (!test.exists()) {
            test.createNewFile();
        }
        out.writeObject(photo);
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

反序列化对象:

        try {
        FileInputStream fis = new FileInputStream(test);
        ObjectInputStream in = new ObjectInputStream(fis);

        in.readObject();

        photo = (Photo)in.readObject();
        photo.getPath();
        in.close();

    } catch (Exception e) {
        e.printStackTrace();
    } …
Run Code Online (Sandbox Code Playgroud)

java objectinputstream eofexception

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

反向打印整数数组

这是以相反顺序打印整数数组的相当简单的问题.虽然每当我尝试打印时,它最终都会显示垃圾值.以下是我的计划.

#include <stdio.h>
#include <conio.h>
int main()
{
    int temp = { '\0' };
    int num[9];
    int i;
    int j = 8;

    printf("Enter 8 numbers\n");
    for (i = 0; i < 8; i++)
    {
        scanf_s("%d", &num[i], 1);
    }
    for (i = 0; i <= j; i++, j--)
    {
        temp = num[i];
        num[i] = num[j];
        num[j] = temp;  
    }
    printf("\nThe numbers in reverse are\n");
    for (i = 0; i <=8; i++)
    {
        printf("%d\n", num[i]);
    }
    _getch(); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

假设我输入的数字从1到8,它会反向打印数字,但它打印的第一个值是垃圾值.我知道我可以使用和If语句来对抗这种情况,但有没有办法在不使用if的情况下解决这个问题?

c arrays

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

c#如何在richtextbox中只更新一行文本?

如何在richtextbox中只更新一行文本?

String[] lines = richTextBox8.Lines;
lines[2] += " ";
richTextBox8.Lines = lines;
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码部分来更新 Richtextbox 的第二行,但它会扫描我所有的 Richtextbox 行并且需要很多次。

所以我想更新 1 行的行文本。

我怎样才能做到这一点?

c# richtextbox

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

使用int而不是size_t索引来访问向量元素的性能降低了吗?

如果我使用intindex来访问vector元素,它会将整数转换为size_t,然后调用operator[](size_t)函数吗?是否有任何性能下降?

c++ int vector size-t

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

fgets()函数在打印字符串时自动断行

#include <stdio.h>

void main () {
    char str[5];
    fgets(str, sizeof(str), stdin);
    printf("%s.", str);
}
Run Code Online (Sandbox Code Playgroud)

我用C编写了这个简单的代码,我试图在一行中打印一个字符串和一个点,但每当我输入一个包含3个或更少字符的字符串时,输出在字符串后面都有一个换行符.

输入:

abc
Run Code Online (Sandbox Code Playgroud)

输出:

abc
.
Run Code Online (Sandbox Code Playgroud)

如果我输入正好4个字符的内容,输出就是我想要的,没有换行符.

我已经尝试使用gets()和scanf()函数,但它们运行良好,但我无法使用它们.

有人知道它为什么会发生和解决方案吗?

c line-breaks fgets

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