小编Era*_*ran的帖子

十进制字符串到十六进制字符串

我有String这种格式的编码:

223175087923687075112234402528973166755
Run Code Online (Sandbox Code Playgroud)

解码后的字符串如下所示:

a7e5f55e1dbb48b799268e1a6d8618a3
Run Code Online (Sandbox Code Playgroud)

我需要将十进制转换为十六进制,但输入数量远大于intlong类型可以处理的数量,那么我该如何转换呢?

java

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

长不能转换为String

我想知道为什么我在以下代码中遇到以下异常:

public class AAA {

    public static void main(String [] args) throws ParseException{
        AAA a= new AAA();
    }


    public AAA() throws ParseException{
        String str = "{\"a\":1,\"b\":\"2\",\"c\":\"3\"}";
        JSONParser content_parser = new JSONParser();
        Object objMessage_Content = content_parser.parse(str);
        System.out.println(objMessage_Content);
        JSONObject jsonObjectMessage_Content = (JSONObject) objMessage_Content;
        System.out.println(jsonObjectMessage_Content);

        String a = (String) jsonObjectMessage_Content.get("a");
        String b = (String) jsonObjectMessage_Content.get("b");
        String c = (String) jsonObjectMessage_Content.get("c");
        String d = (String) jsonObjectMessage_Content.get("d");

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

Exception in thread "main" java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String …
Run Code Online (Sandbox Code Playgroud)

java core

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

将嵌套的循环转换为流

我在理解流时遇到了一些麻烦.我环顾四周,似乎无法找到与我的用例匹配的示例.

我有一个现有的嵌套for循环:

List<ObjectB> objectBs = new ArrayList<ObjectB>();
for (ObjectA objA: objectAList) {
    for (ObjectB objB: objA.getObjectBList()) {
        if (objB.getNumber() != 2) {
            objectBs.add(objB);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

很多示例显示如何添加objB.getNumber()到列表但不是objB.

java java-8 java-stream

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

如何将List转换为Optional <List>?

我怎样才能转换ListOptional<List>

以下代码生成编译错误:

public Collection<Optional<UserMeal>> getAll() {

    Comparator comparator = new SortedByDate();
    List<UserMeal> mealList = new ArrayList<>(repository.values());
    Collections.sort(mealList,comparator);
    Collections.reverse(mealList);

    **List<Optional<UserMeal>> resultList = Optional.of(mealList);**

    return resultList;
}
Run Code Online (Sandbox Code Playgroud)

java optional java-8

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

多个if语句输出不正确

我想acts用一些枚举值填充数组.迭代时我想从控制台输入命令,但我的if语句找不到任何匹配,我总是得到输出"Incorrect".

我的代码:

Action[] acts = new Action[n];
for(int i = 0; i < n; i++) {
    System.out.println("Enter act: ");
    Scanner in1 = new Scanner(System.in);
    String s = in1.next();
    acts[i] = new Action();
    if (s.equals("rotate_forw")) 
        acts[i].type = ActionType.RotF;
    if (s.equals("rotate_back")) 
        acts[i].type = ActionType.RotB;
    if (s.equals("shift_forw")) 
        acts[i].type = ActionType.ShiftF;
    if (s.equals("shift_back")) 
        acts[i].type = ActionType.ShiftB;
    else 
        System.out.println("Incorrect");
}
Run Code Online (Sandbox Code Playgroud)

java arrays enums

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

将长变量与'L'和没有变量声明之间的区别是什么?

以下是什么区别?

long var1 = 2147483647L;

long var2 = 2147483648;
Run Code Online (Sandbox Code Playgroud)

(或任何原始变量声明)是否有任何与L有关的性能问题?这是强制性的吗?

java

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

为什么我们必须将Collectors.toList()返回的List转换为List <Integer>,即使Stream的元素已经映射到Integer?

我正在将原始映射Stream到a Stream<Integer>,然后将元素收集到a List<Integer>.

为什么我必须将结果投射collect(Collectors.toList())List<Integer>我的映射器.map(str -> ((String)str).length())- 已映射到Integer

我的代码:

List list = Arrays.asList("test", "test2");
List<Integer> lengths = (List<Integer>) list.stream()
                                            .map(str -> ((String)str).length())
                                            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

如果我不使用raw List,则无需强制转换:

List<String> list = Arrays.asList("test", "test2");
List<Integer> lengths = list.stream()
                            .map(str -> str.length())
                            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

Math.random在代码中没有正常工作

package arrays;
import java.util.Scanner;

public class Raffle {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("Enter the number of partcipants ");
        int no=scan.nextInt();
        String participants[]=new String[no];
        System.out.println("Please enter their names and check out the random winner");
        for(int i=0;i<no;i++) {
            participants[i]=scan.next();
        }
        int rand=(int)Math.random()*no;
        System.out.println(rand);
        System.out.println("The winner of the raffle is "+participants[rand]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我用过,Math.random()但是我在运行期间看到总是0索引位置给出结果而不是随机值.有什么建议?我正在吸氧.

java eclipse

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

Java for for循环与第二个条件中的相等运算符

我试图以相反的顺序打印一个数组.

这是代码:

import java.util.Scanner;

public class Main {

    public static void main(String []argh) {

        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = in.nextInt();

        }

        for (int j = n-1 ; j == 0; j--) {
            System.out.print(arr[j] + " ");
        }
        in.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

在这段代码什么都没有发生,但是当我在第二个for循环变化的第二个条件从j == 0j >=0它的工作.我不明白为什么.在j==0,它不应该减少,j直到它变得相等0

java arrays

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

在其他arraylist上执行addAll时,两个arraylists都引用相同的元素

当我将a的所有内容添加ArrayList到另一个时ArrayList,另一个ArrayList包含对第一个元素的引用ArrayList.因此,当我更改Lists 中的任何一个元素时,另一个元素中的相应元素List也会发生变化.这显然意味着addAll分配对新的引用List.

参考代码:

ArrayList<StringBuffer> a = new ArrayList<>();
a.add(new StringBuffer("1"));
a.add(new StringBuffer("2"));
a.add(new StringBuffer("3"));

ArrayList<StringBuffer> b = new ArrayList<>();
b.addAll(a);

System.out.println("Arralists" + " before: ");
System.out.println("A arraylist" + a.toString());
System.out.println("B arraylist" + b.toString() + "\n\n");

a.set(0, a.get(0).replace(0, 1, String.valueOf(4)));

System.out.println("Arralists after " + "updating a: ");
System.out.println("A arraylist" + a.toString());
System.out.println("B arraylist" + b.toString() + "\n\n");
Run Code Online (Sandbox Code Playgroud)

对应日志:

Arralists before: 
A arraylist[1, 2, 3]
B …
Run Code Online (Sandbox Code Playgroud)

java collections arraylist

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

标签 统计

java ×10

java-8 ×3

arrays ×2

java-stream ×2

arraylist ×1

collections ×1

core ×1

eclipse ×1

enums ×1

optional ×1