小编Ken*_*thC的帖子

Java 8 - 基于特定订单的自定义排序

我想根据用户列表的状态对用户列表进行排序,但订单必须基于我设置的顺序.

我想设置列表的顺序,

订单应为1,0,5.我们还应该记住订购用户名.

List<User> users = new ArrayList();
         users.add(new User("A", 1));
         users.add(new User("B", 5));
         users.add(new User("C", 0));
         users.add(new User("D", 1));
         users.add(new User("E", 5));
         users.add(new User("F", 0));
Run Code Online (Sandbox Code Playgroud)

这是用户类

public class User {
         private String username;
         private Integer status;
     }
Run Code Online (Sandbox Code Playgroud)

它看起来应该是这样的

[
    {
      "username": "A",
      "status": 1
    },
    {
       "username": "D",
       "status": 1
    },
    {
       "username": "C",
       "status": 0
    },
    {
       "username": "F",
       "status": 0
    },
    {
       "username": "B",
       "status": 5
    },
    {
       "username": "E",
       "status": 5
    }
]
Run Code Online (Sandbox Code Playgroud)

我不确定是否可以使用 …

java sorting comparator java-8

11
推荐指数
2
解决办法
655
查看次数

Laravel - 使用OR运算符连接2个表

我有一个名为messages的表,它的列是

id, sender_id, message, receiver_id, created_at, updated_at
Run Code Online (Sandbox Code Playgroud)

而另一个表称为用户,它的列是

id, firstname, lastname, email, password, created_at,updated_at
Run Code Online (Sandbox Code Playgroud)

我想获取所有用户的所有消息,因此我使用users.id加入messages.sender_id和messages.receiver_id

但是我不知道如何在加入laravel时使用"OR"运算符这是我的原始查询,它给了我所需的输出.

SELECT messages.*,users.* FROM messages JOIN users ON users.id = messages.sender_id 
OR users.id = messages.receiver_id GROUP BY messages.id
Run Code Online (Sandbox Code Playgroud)

这是我试过的laravel查询

$get_messages = DB::table('messages')
            ->where('messages.sender_id',$user_id)
            ->leftjoin('users', function($join){
                $join->on('users.id','=','messages.sender_id'); // i want to join the users table with either of these columns
                $join->on('users.id','=','messages.receiver_id');
            })
            ->orwhere('messages.sender_id',$partner_id)
            ->where('messages.receiver_id',$user_id)
            ->orwhere('messages.receiver_id',$partner_id)
            ->groupby('messages.id')
            ->get();

print_r($get_messages);
Run Code Online (Sandbox Code Playgroud)

php mysql laravel laravel-5

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

Kotlin / Regex - 用重复字符替换一组模式

我想屏蔽maskEmail函数中传递的电子邮件。我目前面临一个问题,其中当我替换模式的第 2 组和第 4 组时星号*不重复

这是我的代码:

fun maskEmail(email: String): String {
    return email.replace(Regex("(\\w)(\\w*)\\.(\\w)(\\w*)(@.*\\..*)$"), "$1*.$3*$5")
}
Run Code Online (Sandbox Code Playgroud)

这是输入:

tom.cat@email.com
cutie.pie@email.com
captain.america@email.com
Run Code Online (Sandbox Code Playgroud)

这是该代码的当前输出:

t*.c*@email.com
c*.p*@email.com
c*.a*@email.com

Run Code Online (Sandbox Code Playgroud)

预期输出:

t**.c**@email.com
c****.p**@email.com
c******.a******@email.com
Run Code Online (Sandbox Code Playgroud)

编辑:我知道这可以用 for 循环轻松完成,但我需要在正则表达式中完成。先感谢您。

regex kotlin

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

Bootstrap - 改变元素的顺序

我有 2 个 div,都带有 col-md-6。

在此处输入图片说明

我希望它更改为 col-xs-12 for mobile

但顺序应该是:

在此处输入图片说明

使用引导程序,我应该怎么做才能将盒子 B 放在盒子 A 的顶部

css twitter-bootstrap twitter-bootstrap-3

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

Spring boot - 如何使用异常处理程序处理页面未找到异常

我正在制作一个处理程序,其中当用户尝试访问不存在的网址时,我应该能够将用户重定向到登录页面或自定义错误页面,我正在使用异常处理程序来捕获错误,但问题是它不会转到处理程序,而是只给我一个白色标签错误页面。

这是代码:

@ExceptionHandler(value = ResourceNotFoundException.class)
    public String exception(ResourceNotFoundException e, HttpServletRequest request, RedirectAttributes redirectAttributes) {
        long now = new Date().getTime();
        long lastAccessed = request.getSession().getLastAccessedTime();
        boolean isNotLoggedIn = (now - lastAccessed) <= 0L;

        if (isNotLoggedIn) {
            return "forward:/login";
        }

        return "forward:/access-forbidden?errorMessage=Page Not found.";
    }
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-boot

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

java - 替换句子中特定长度的数字

我想一个16位数字的前12位数字转换为星号.

最后4位数应该是可见的.

输入示例:

String test = "test/1234567890121123/121/test";
String test2 = "hey: 1234567890123456";
Run Code Online (Sandbox Code Playgroud)

预期产量:

String test = "test/************1123/121/test";
String test2 = "hey: ************3456";
Run Code Online (Sandbox Code Playgroud)

注意:输入是动态的

java regex

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