小编Rag*_*ghu的帖子

java中的可变和不可变String之间有什么区别

据我所知,

可以更改可变字符串,并且不能更改不可变字符串.

在这里,我想像这样更改String的值,

String str="Good";
str=str+" Morning";
Run Code Online (Sandbox Code Playgroud)

和其他方式是,

StringBuffer str= new StringBuffer("Good");
str.append(" Morning");
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我试图改变其价值str.任何人都可以告诉我,这两种情况有什么不同,并给我清晰的可变和不可变对象的图片.

java string mutable stringbuffer immutability

48
推荐指数
4
解决办法
12万
查看次数

从servlet发生异常时如何重定向到错误页面?

我正在写一个servlet,因为如果发生任何异常,我不想在浏览器上显示异常/错误消息,所以我将重定向到我的自定义错误页面.所以我这样做了:

protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
try{
    //Here is all code stuff
}catch(Exception e){

  request.getRequestDispatcher("/ErrorPage.jsp").forward(request, response);
  e1.printStackTrace();

}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法,如果我错了请纠正我,如果有更好的机制请告诉我.

java error-handling jsp servlets jstl

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

如何解决java.lang.ClassCastException:对于hibernate中的query.list()

我正在使用Hibernate执行select选项,Query正在执行但在query.list()方法中获得异常,

这是我的代码,

String hql="select a.vehicleno, a.lat, a.lng, a.status, a.rdate, a.rtime from LatitudeBean a, VehicleRegisterBean b where a.vehicleno=b.vehicleno and b.clientid= :clientId and b.groupid in(select groupid from GroupDetails where groupname= :groupname and clientid= :gdclientId)"; // valid query
Query query =sessio.createQuery(hql);
List<LatitudeBean> groupList = (List<LatitudeBean>)query.list(); //Here I am getting exception
for(LatitudeBean arr : groupList){
        System.out.println(arr.getVehicleno());
    }
Run Code Online (Sandbox Code Playgroud)

例外是,

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.aurodisplay.its.beans.LatitudeBean
at com.abc.its.controller.LoginController.doPost(LoginController.java:83)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at …
Run Code Online (Sandbox Code Playgroud)

java hibernate

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

如何解决“未找到方言类:org.hibernate.dialect.MYSQLDialect”异常?

我对休眠非常陌生,所以我正在通过观看视频教程进行练习。我关注的链接是

https://www.youtube.com/watch?v=FFMOZY4z6bE&list=PL4AFF701184976B25&index=5

这是eclipse中的简单java项目。这里我使用mysql数据库。这是我的 Hibernate.cfg.xml 文件,

com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/hibernatedb 根 root

    <!-- JDBC connection pool (use the built-in) -->
    <property name="connection.pool_size">1</property>

    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.MYSQLDialect</property>

    <!-- Disable the second-level cache  -->
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">create</property>

    <!-- Names the annotated entity class -->
    <mapping class="com.***.dto.UserDetails"/>
Run Code Online (Sandbox Code Playgroud)

我遇到这种错误,

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate

3
推荐指数
2
解决办法
5万
查看次数

如何将日期插入mysql?

我试图将一个日期插入mySql数据库.我接受日期作为字符串并将其解析为util.Date然后将其转换为sql.Date然后我插入数据库.这是我的代码

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
String mydate=dsd.getDoa();
Date mydate2=format.parse(mydate);
java.sql.Date sqlDate;
sqlDate = new java.sql.Date(mydate2.getTime());
System.out.println("Date"+sqlDate.getDate()+"Month"+sqlDate.getMonth()+"Year"+sqlDate.getYear());

....

int i=st.executeUpdate("insert into device_sales_details values("+sqlDate+")); 
Run Code Online (Sandbox Code Playgroud)

错误如下,

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '1980' for column 'device_sales_details_DOA' at row 1

Sysout为遵循输入打印22/12/2014

Date22Month11Year114 如何解决这个问题,请任何人帮助我.

java mysql date jdbc java.util.date

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

我们可以从十六进制值中读取第 4 个字节吗?

其实我不是很清楚,所以我在这里提出了一个问题,我也是位计算的新手。我的场景是这样的,我从CAN(A hardware device)获得一些十六进制值,对于一个特定的值,我必须读取第 4 个字节,在第 4 个字节中,第 5 位和第 6 位的值决定要写入的输出,我的意思是如果第 5 和第 6 位是 00= off , 01= on 像这样。所以我的问题是,我们如何从十六进制中读取第 4 个或任何特定字节以及字节中的特定位。如果可能,请给我一些指导或示例或任何教程站点。我用谷歌搜索了很多但没有用。请帮助我。我希望这在java中完成。

java hex byte bit-manipulation

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

我们可以从hql查询中获取单个对象吗?

我在hql中编写一个select查询,我的任务是激活总线.首先,我将从客户端获取一个消息busId#busStatus,所以首先我寻找这个特定的busId是活动的还是非活动的所以我必须编写select查询但是在hibernate query.list()返回list.在这里我认为列表是不必要的,单个对象就足够了.

这是我的代码,

    String hql="from BusDetailBean where Busid= :busId and bus_status=:busStatus";
        Query query = session.createQuery(hql);
        query.setParameter("busId", busId);
        query.setParameter("busStatus", busStatus);

        List<BusDetailBean> busDetails=(List<BusDetailBean>)query.list(); 
       if(busDetails.isEmpty())
        {
             //my other stuff
        }
         else
         {

            //bus ativation stuff
         }
Run Code Online (Sandbox Code Playgroud)

我的问题是如果列表不为空,则select查询只返回一个对象我必须在else部分中使用for循环.那么我该如何优化这段代码呢.任何人都可以帮助我.

java mysql hibernate hql

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