关于Set的类型转换(Java)

这里是一个Courses类,Student类和SetTest类,
其中SetTest类中用List存储可选课程,再把选到的课程存储到Student类定义的Set对象中
为什么我在SetTest类中foreach循环Set对象会提示转换不了Courses类型,我在Student类已经设置了类Set
求大神讲解!!!!小弟才疏学浅啊!!
图片说明
图片说明
图片说明
图片说明

3个回答

因为你的Student的getCourses方法没有指定泛型类型,修正填上泛型就可以了:

 public Set<Courses> getCourses(){
     return courses;
 }
wojiushiwo945you
毕小宝 回复tsck: 真心感谢,就点击采纳结贴呗!我好升级啊。
接近 4 年之前 回复
u013507693
tsck 万分感谢~~~!!!
接近 4 年之前 回复

你的getCourses方法没有指定类型,获得的时候就是个set类型,而并不是你想的用了Student类中的Set属性,直接把set,get方法定义为指定的类型就可以了。

u013507693
tsck 太感谢了~~~!^_^
接近 4 年之前 回复

你的getCourses方法没有指定类型,获得的时候就是个set类型,而并不是你想的用了Student类中的Set属性,直接把set,get方法定义为指定的类型就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java反射调用set方法时如果让参数做自动类型转换
<p>这段时间学习java的反射机制想实现一个功能:遍历一个Map,然后利用反射机制调用BO的set方法,完成BO属性的自动注入。这样设计的初衷是解决Excel数据导入问题中的Map数据填充BO这一过程。</p> <p> </p> <p>下面是一个BO:</p> <p> </p> <pre name="code" class="java">package com.handlewell.testOnly.persistence; import java.io.Serializable; import java.util.Date; public class StudentBO implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private Long id; private String sname; private Integer age; private Date birthDate; public Long getId() { return id; } public void setId(Long id) { this.id = id; } . . . } </pre> <p> </p> <p>为了代码的复用性和做Excel文件处理时的灵活性决定使用Enum来指定文件中表头和BO中属性方法的对应关系,下面是使用的Enum类:</p> <p> </p> <pre name="code" class="java">public enum ExclTableField { Sname("姓名"), Age("年龄"), BirthDate("生日"); private String description; private ExclTableField(String description){ this.description = description; } public String getDescription() { return description; } } </pre> <p> </p> <p>有了BO和Enum我们需要一个工具类来完成数据的填充,这个工具类必须能完成各种BO的填充,所以必须使用泛型和反射。</p> <p>下面是工具类的代码:</p> <p> </p> <pre name="code" class="java">import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Excle2EntityUtil&lt;T&gt; { private T entity; public Excle2EntityUtil(T entity){ this.entity = entity; } public void doInitEntity(String methodName , Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{ //根据传入的属性名称构造属性的set方法名 methodName = "set"+methodName; System.out.println("Method Name --"+methodName); Method[] methods = entity.getClass().getMethods(); for(Method method:methods){ //如果方法同名则执行该方法(不能用于BO中有重载方法的情况) if(methodName.equals(method.getName())){ //这里如何做类型转换???????????* method.invoke(entity, obj); } } } } </pre> <p> 在做测试的时候因从模拟的数据Map中得到的Age是一个String类型的,在反射的方法调用时这个set方法应该传入的是int类型的数据。所以会抛出java.lang.IllegalArgumentException: argument type mismatch这样的异常。</p> <p> </p> <pre name="code" class="java">package com.handlewell.testOnly.services.impl; import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; import com.handlewell.testOnly.persistence.StudentBO; import com.handlewell.testOnly.support.ExclTableField; import com.handlewell.testOnly.support.Excle2EntityUtil; public class InvokeMethodTest { public static void main(String[] args) { /**测试,手动构造一个Map,模拟从Excel中读出的数据Map----begin*/ Map&lt;String, Object&gt; studentMap = new LinkedHashMap&lt;String, Object&gt;(); studentMap.put("姓名", "gaojun"); String age = "24"; studentMap.put("年龄", age); Date date = new Date(); studentMap.put("生日", date); /**测试,手动构造一个Map,模拟从Excel中读出的数据Map----end*/ StudentBO student = new StudentBO(); //使用StudentBO构造一个数据填充工具实例 Excle2EntityUtil&lt;StudentBO&gt; studentEntityUtil = new Excle2EntityUtil&lt;StudentBO&gt;(student); for (ExclTableField tableField : ExclTableField.values()) { //根据Enum上属性名称拿到属性的值,这里所有的属性值都是一个Object类型。 Object obj = studentMap.get(tableField.getDescription()); try { //传入属性名和值,完成自动填充BO属性。 studentEntityUtil.doInitEntity(tableField.toString(), obj); } catch (Exception e) { e.printStackTrace(); } } System.out.println(student.getSname()); System.out.println(student.getAge()); System.out.println(student.getBirthDate()); } } </pre> <p> </p> <p> </p> <p>请问:这里要如何解决这个类型转换的问题呢?有没有什么方法可以让方法在执行时自动将Object类型转换为所需要的类型呢?</p>
Java关于String转换其他数据类型的问题
小弟有个关于String转换其他数据类型的问题想请教各位大大,新手未有悬赏币,见谅。 下面贴代码,问题在最后。 person类 ``` package com.local.person.bean; public class Person { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` RecordItem类 ``` public class RecordItem { private String key; private String value; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } } ``` 转换方法BeanParser ``` package com.local.person.bean; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Locale; public class BeanParser { public static <T> List<T> parse(List<List> records, Class<T> classParam) throws InstantiationException, IllegalAccessException { List<T> list = new ArrayList<T>(); Method[] methods = classParam.getMethods(); for (int i = 0; i < records.size(); i++) { List<RecordItem> record = records.get(i); T bean = classParam.newInstance(); for (int j = 0; j < record.size(); j++) { RecordItem item = record.get(j); for (Method method : methods) { String methodName = method.getName(); if (methodName.startsWith("set")) { String attr = methodName.substring(3).toLowerCase(Locale.getDefault()); if (attr.equals(item.getKey())) { try { method.invoke(bean, item.getValue()); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } } } } list.add(bean); } return list; } } ``` 执行下面的main方法 ``` package com.local.person.bean; import java.util.ArrayList; import java.util.List; public class GetPersonList { public static void main(String[] args) { List<List> records = new ArrayList<List>(); List<RecordItem> record1 = new ArrayList<RecordItem>(); RecordItem item1 = new RecordItem(); item1.setKey("id"); item1.setValue("1"); record1.add(item1); RecordItem item2 = new RecordItem(); item2.setKey("name"); item2.setValue("jack"); record1.add(item2); List<RecordItem> record2 = new ArrayList<RecordItem>(); RecordItem item3 = new RecordItem(); item3.setKey("id"); item3.setValue("2"); record2.add(item3); RecordItem item4 = new RecordItem(); item4.setKey("name"); item4.setValue("tom"); record2.add(item4); records.add(record1); records.add(record2); List<Person> personList = new ArrayList<Person>(); try { personList = BeanParser.parse(records, Person.class); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } for (int i = 0; i < personList.size(); i++) { Person person = personList.get(i); System.out.println("id=" + person.getId() + ",name=" + person.getName()); } } } ``` 事情是这样子的:有两条数据 id=1,name=jack id=2,name=tom 放在两个RecordItem里面,外面套了两个List,我想把这两条数据装到两个Person里面,Person再放进List里面传回给main方法,main方法打印出来。 但是存在一个问题,就是Person里面的数据类型都是基本类型或封装类(不确定是什么实体类,里面会有什么数据类型),要怎么把RecordItem的String类型根据Person数据类型存进去,让method.invoke(bean, item.getValue());不报错???
java的类型转换报错,显示类型不匹配
``` package com.example.weather; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; import java.util.jar.Attributes; /** * 网络访问工具类 * @author silk * */ public class PostGet { /** * get方法直接调用post方法 * @param url 网络地址 * @return 返回网络数据 */ public static String get(String url){ return post(url,null); } /** * 设定post方法获取网络资源,如果参数为null,实际上设定为get方法 * @param url 网络地址 * @param param 请求参数键值对 * @return 返回读取数据 */ public static String post(String url,Map param){ HttpURLConnection conn=null; try { URL u=new URL(url); conn=(HttpURLConnection) u.openConnection(); //返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 StringBuffer sb = null; if(param!=null){//如果请求参数不为空 sb=new StringBuffer(); /*A URL connection can be used for input and/or output. Set the DoOutput * flag to true if you intend to use the URL connection for output, * false if not. The default is false.*/ //默认为false,post方法需要写入参数,设定true conn.setDoOutput(true); //URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出, //则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 false。 //设定post方法,默认get conn.setRequestMethod("POST"); //获得输出流 OutputStream out=conn.getOutputStream(); //对输出流封装成高级输出流 BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(out)); //将参数封装成键值对的形式 for(Map.Entry s:param.entrySet()){ sb.append(s.getKey()).append("=").append(s.getValue()).append("&"); } //将参数通过输出流写入 writer.write(sb.deleteCharAt(sb.toString().length()-1).toString()); writer.close();//一定要关闭,不然可能出现参数不全的错误 sb=null; } conn.connect();//建立连接 sb=new StringBuffer(); //获取连接状态码 int recode=conn.getResponseCode(); BufferedReader reader=null; if(recode==200){ //Returns an input stream that reads from this open connection //从连接中获取输入流 InputStream in=conn.getInputStream(); //对输入流进行封装 reader=new BufferedReader(new InputStreamReader(in)); String str=null; sb=new StringBuffer(); //从输入流中读取数据 while((str=reader.readLine())!=null){ sb.append(str).append(System.getProperty("line.separator")); } //关闭输入流 reader.close(); if (sb.toString().length() == 0) { return null; } return sb.toString().substring(0, sb.toString().length() - System.getProperty("line.separator").length()); } } catch (Exception e) { e.printStackTrace(); return null; }finally{ if(conn!=null)//关闭连接 conn.disconnect(); } return null; } } ``` 隔空的for循环行报错:类型不匹配:不能从元素类型 Object 转换为 Map.Entry 不知如何解决 以及为何会报错。望解惑 万分感谢!
java程序访问oracle出现数据类型转换异常,求大神指点
首先看oracle里面的House表,其中linkman为varchar2类型,其他都为number类型 一、House表里面一些数据 id hid area price floor linkman 1 1 20 800 7 张三 二、下面是House实体类,给出一部分代码,变量类型这样设置应该没错吧,oracle表里面的number,java里面的数据类型应该设置为BigDecimal吧,varchar2对应String,这个我测试过可以。因为待会用反射类Field里面的set方法帮我们把从数据库查找到的数据自动转换为实体类对应变量类型。 public class House { private BigDecimal id; private BigDecimal area; private BigDecimal price; private BigDecimal floor; private String linkMan; private BigDecimal hid; private BigDecimal qid; private BigDecimal jid; private BigDecimal zid; private BigDecimal sid; public House() { super(); } public House(BigDecimal id, BigDecimal area, BigDecimal price, BigDecimal floor, String linkMan,BigDecimal hid,BigDecimal qid,BigDecimal jid,BigDecimal zid,BigDecimal sid) { super(); this.id = id; this.area = area; this.price = price; this.floor = floor; this.linkMan = linkMan; this.hid=hid; this.qid=qid; this.jid=jid; this.zid=zid; this.sid=sid; } 三、House实现类 public class HouseImpl extends JDBC<House> implements HouseDao { @Override public List<House> HidFind(int id) { String sql="select * from house where hid=? "; List<House> list=query(sql, House.class, id); return list; } @Override public House IdFind(int id) { String sql="select * from house where id=?"; List<House> list=query(sql, House.class, id); return list.get(0); } @Override public List<House> FindAll() { String sql="select * from house"; List<House> list=query(sql, House.class); return list; } } 四、测试类 @Test public void testHouseImplHidFind(){ System.out.println(hs.HidFind(1).get(0).getPrice().doubleValue()); } @Test public void testHouseImplIdFind(){ System.out.println(hs.IdFind(1).getPrice().doubleValue()); } 刚测试testHouseImplHidFind()方法,就报错,错误如下: java.lang.IllegalArgumentException: Can not set java.lang.String field bean.House.linkMan to java.math.BigDecimal 我把linkman类型改为BigDecimal类型,它又报错说hid应该为String类型,于是我又按照它说的改了,运行没报错了,但是查price时给我的是20.0,linkman给我的是一个1(反正是数字),我一下子懵逼了,我其他表里面有number和varchar2,但是查询给出的数据都是正确的,但是这张表有上面问题,求大神指点。
类型转换为什么出错?数据库中就是int
public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource()==jb1) { rs = ct.getResult("select * from Book"); int rowCount = -1; try { //ResultSetMetaData data=rs.getMetaData(); //int colNum=data.getColumnCount(); while(rs.next()) { rowCount++; } // System.out.println(rowCount); for(int i=0;i<=rowCount;i++) ct.updateSql("update Book set Book_id = '"+jt.getValueAt(i, 0)+ "',Book_name = '"+jt.getValueAt(i, 1)+ "',Book_publishment = '" +jt.getValueAt(i, 2)+ "',Book_price = " +jt.getValueAt(i, 3)+ ",Book_type = '" +jt.getValueAt(i, 4)+ "',Book_num = " +jt.getValueAt(i, 5)+ ",Book_Writer = '" +jt.getValueAt(i, 6)+ "',Book_inlib = "+jt.getValueAt(i, 7)+ " where Book_id='"+jt.getValueAt(i, 0)+"'"); JOptionPane.showMessageDialog(null, "数据已更改", "提示",JOptionPane.WARNING_MESSAGE); System.out.println(jt.getValueAt(rowCount, 0)); if(jt.getValueAt(rowCount+1, 0)!=null) { System.out.print("这里面有数据,正打算插入"); ct.updateSql("insert into Book values('"+jt.getValueAt(rowCount+1, 0)+"','" +jt.getValueAt(rowCount+1, 1)+"','" +jt.getValueAt(rowCount+1, 2)+"','" +jt.getValueAt(rowCount+1, 3)+"','" +jt.getValueAt(rowCount+1, 4)+"','" +jt.getValueAt(rowCount+1, 5)+"','" +jt.getValueAt(rowCount+1, 6)+"','" +jt.getValueAt(rowCount+1, 7)+ "')"); ``` jt.getValueAt(rowCount+1, 7)--第八个元素插入出错 com.microsoft.sqlserver.jdbc.SQLServerException: 在将 varchar 值 'null' 转换成数据类型 int 时失败。
关于Java接口和向上转换的问题
![图片说明](https://img-ask.csdn.net/upload/201611/24/1479953231_686095.png) ![图片说明](https://img-ask.csdn.net/upload/201611/24/1479953246_746925.png) 问题1:Set 是一个接口 为什么在API上显示的是class类 问题2:在代码第五行 hashset 向上转型为Set 我能理解一个子对象向上转型为一个父对象, 但是一个子对象向上转型为一个接口类型的实例对象 是不是有点问题啊?接口不是不能有实例么?
关于hibernate 分页 类型转换错误
分页代码: public List getAppointStudent(int start,int pageSize) { try{ session=sessionFactory.openSession(); Query query=session.createQuery("[color=red]from Students[/color]") .setFirstResult(start-1) .setMaxResults(pageSize); list=query.list(); }catch(Exception e){ e.printStackTrace(); }finally{ session.close(); } return list; } Students 的配置文件 <hibernate-mapping> <class name="pojo.Students" table="students"> <id name="stu_id" > <generator class="assigned"/> </id> <property name="stu_name" type="string"/> <property name="stu_age" type="string"/> <property name="stu_sex" type="string"/> <property name="stu_department" type="string"/> <property name="stu_telephone" type="integer" > <column name="stu_telephone" sql-type="int"></column> </property> <property name="stu_remarks" type="string"/> <one-to-one name="user" class="pojo.Users" fetch="join" cascade="all" /> <many-to-one name="dormitory" class="pojo.Dormitorys" column="dor_id" fetch="join" cascade="none" lazy="false"/> </class> 发现一个问题 就是 返回的list 里面的对象是String 类型,不是我想得到的Students 这个pojo类型,是不是和映射文件设置成关联有关系。 难道一定用 select .... 这样的hql语句 得到一个object[] 在拆分数据,然后在 封装成一个pojo 如果这样我无语了。 [b]问题补充:[/b] pojo: public class Students { private String stu_id; private String stu_name; private String stu_sex; private String stu_age; private Integer stu_telephone; private String stu_department; private String stu_remarks; private Dormitorys dormitory; private Users user; public Dormitorys getDormitory() { return dormitory; } public void setDormitory(Dormitorys dormitory) { this.dormitory = dormitory; } public Users getUser() { return user; } public void setUser(Users user) { this.user = user; } public String getStu_id() { return stu_id; } public void setStu_id(String stu_id) { this.stu_id = stu_id; } public String getStu_name() { return stu_name; } public void setStu_name(String stu_name) { this.stu_name = stu_name; } public String getStu_sex() { return stu_sex; } public void setStu_sex(String stu_sex) { this.stu_sex = stu_sex; } public String getStu_age() { return stu_age; } public void setStu_age(String stu_age) { this.stu_age = stu_age; } public Integer getStu_telephone() { return stu_telephone; } public void setStu_telephone(Integer stu_telephone) { this.stu_telephone = stu_telephone; } public String getStu_department() { return stu_department; } public void setStu_department(String stu_department) { this.stu_department = stu_department; } public String getStu_remarks() { return stu_remarks; } public void setStu_remarks(String stu_remarks) { this.stu_remarks = stu_remarks; } } 异常: [color=red]java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer[/color] at org.hibernate.type.IntegerType.set(IntegerType.java:41) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:83) at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65) at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576) at org.hibernate.loader.Loader.doQuery(Loader.java:661) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.loadEntity(Loader.java:1785) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730) at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365) at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346) at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123) at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177) at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87) at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862) at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266) at org.hibernate.type.EntityType.resolve(EntityType.java:303) at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842) at org.hibernate.loader.Loader.doQuery(Loader.java:717) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2145) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) at org.hibernate.loader.Loader.list(Loader.java:2024) at org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:887) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at db.dao.CountDAO.getAppointStudent(CountDAO.java:49) at action.StudentsPageAction.execute(StudentsPageAction.java:65) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at servlet.DormitoryServlet.process(DormitoryServlet.java:23) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
一个奇怪的问题,从泛型为Integer的Set中取到的遍历取到的值为String
``` public ResponseResult putAllAnswer(Map<Integer, String> map) { Set<Integer> testIds=map.keySet(); List<Integer> errorAnswer=new LinkedList<Integer>(); for(Integer testId:testIds){ Test test=testMapper.selectByPrimaryKey(testId); if(map.get(testId).equals(test.getRightAnswer())){ continue; }else{ errorAnswer.add(testId); } } } public ResponseResult putAllAnswer(HashMap<Integer, String> map) { Set<Integer> testIds=map.keySet(); List<Integer> errorAnswer=new LinkedList<Integer>(); Iterator<Integer> iter=testIds.iterator(); while(iter.hasNext()){ System.out.println(iter.next().getClass()); Integer testId=iter.next(); } } ``` 代码如上,在执行到for循环内时,testId无法接受testIds中的数据,显示类型转换错误,String无法转换为Integer类型,非常奇怪,即使是通过Iterator遍历也无法获取set集合中的值,始终显示String无法转换为Integer类型的报错,甚至在无法通过getClass方法来获取对象的类型信息,执行该语句也会报错
关于struts2日期类型转换问题
search实体里是 private Timestamp createTime; get.. set... jsp页面 <input name="search.createTime" type="text" value="${search.createTime}" /> 输入的信息是:2010-09-12 已提交就显示 # Messages: java.lang.String cannot be cast to java.util.Date File: org/hibernate/type/TimestampType.java Stacktraces java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date 请问该如何操作呢
jsp如何读取类对象中的set集合
加载得到整个type类,然后读取type类的set外键类集合,foreach读取type类。在其循 环内层嵌套一层循环读取其type.set集合但是出现转换错误
Java中关于toString方法的使用
import java.util.*; public class T { public static void main(String[] args){ ArrayList 《String》 l=new ArrayList<>(); l.add("dd"); l.add("aa"); l.add((new Date())); /*这里会报错The method add(String) in the type ArrayList<String> is not applicable for the arguments (Date)*/ String c=l.get(0); l.set(1, "da"); System.out.println(l.get(2)); } } 但是将l.add((new Date()));改成 l.add((new Date()).toString());以后就不会报错了。 toString方法不是自动调用的吗?为什么会报错啊?同时还想问一下toString()方法的自动调用的条件是什么? 希望可以尽量详细一点,谢谢! 补充:我想问的重点是:为什么这里toString()方法不会自动调用(就像int类和Integer类会在需要的时候自动转换),或者说toString()方法自动调用的条件都有什么?
请求客户接口得到json串后,转换java对象,属性为"_id"接收到的值一直为null
json串的其中一个例子 ![图片说明](https://img-ask.csdn.net/upload/201708/29/1503971030_417072.png) json串要映射的实体(set、get方法都有) ![图片说明](https://img-ask.csdn.net/upload/201708/29/1503971097_882919.png) ![图片说明](https://img-ask.csdn.net/upload/201708/29/1503971142_870930.png) 输出变量为"_id"的语句 ![图片说明](https://img-ask.csdn.net/upload/201708/29/1503971398_783566.png)
Arraylist Java核心技术卷一 184页
没有泛型类时,原始的ArrayList类提供的get方法别无选择只能返回Obejct,因此,get方法的调用必须对返回值进行类型转换: Employee e = (Employee)staff. get(i): 原始的ArrayList存在一定的危险性。 它的add和set方法允许接收任意类型的对象。 对于下面这个调用 staff.set(i.new Date()); 编译时不会给出任何警告,只有在检索对象并试图对它进行类型转换时,才会发现有问题。如果使用ArrayList<Employee>,编译器就会检测到这个错误。 第一个问题:Employee e = (Employee)staff. get(i): 猜测: object obj = (object) staff.get(i)(向上转型) Employee e =(Employee) obj(向下转型) 这种向下转型不是很容易会出错了。 比如boss是Employee的一员,但是Employee不一定是就是boss啊。 2.为什么说add和set方法允许接收任意类型的对象的时候,就会出现一定的风险呢? 3. 为什么说只有在检索对象并试图对它进行类型转换时,才会发现问题呢? 如果使用ArrayList<Employee>,编译器就会检测到错误。
请问大神如何将下面的Perl转换成java版本
最好能写出详细的方法,我现在能够实现的是用.properties连接数据库 想转换成java版本,打成jar包放到linux环境的定时任务执行 my ($sum_level,$sql,$dbhome,$gsm_type,$lte_type,$start_time,$end_time,$db_type,$scm,$programe,$start_date,$end_date,$db_ini,$detials_time,$detiale_time,$ustime); my ($cmd_line,$app_name,$province_id,$Convert_type,$debug,$detail_log_name,$flag,$range_second,$todaysum); my $dbhome = $ENV{"DB_PATH"}; if((!defined($dbhome) || ! -d $dbhome)) { die("Do not define the env 'DB_PATH' or it does not exist\n"); } my $cmd_line = $0." ".join(" ",@ARGV); my $programe = $0; $programe =~ /\b(\w+)\.pl/i; my $app_name = $1; my $db_ini = "$dbhome/db.ini"; my $gsm_type = "GSM"; my $lte_type = "LTE"; GetOptions( "u=i" =>\$sum_level, "s:s" =>\$start_time, "e:s" =>\$end_time ); my $scm = new SumCommonModule("$app_name",$debug,$detail_log_name,$$); $scm->connect_db($db_ini); my $db_type = $scm->get_db_type(); if($sum_level ==1 ) { $start_time = int2date(date2int(current()) - 24*3600) if($start_time eq ""); $end_time = $start_time if($end_time eq ""); } elsif($sum_level ==3 ) { $start_time = int2date(date2int(current()) - 24*28*3600) if($start_time eq ""); #��Ҫ�Զ����㴦 $end_time = $start_time if($end_time eq ""); } else { die("Please input sum_level Parameter ,The sum_level must be in(1,3) \n"); } ($start_time,$end_time) = time_range($start_time,$end_time,$sum_level,"T"); ($detials_time,$detiale_time) = time_range($start_time,$end_time,3,"D"); my ($start_date,$end_date) = time_range($start_time,$end_time,$sum_level,"D"); $ustime = TimeOpt::GMtime($start_time,"-1D"); $ustime = TimeOpt::CFtime("MM/DD/YYYY",$ustime); print "xxxxxxxxx $sum_level \n"; print "$start_time,$end_time,$detials_time,$detiale_time,$ustime\n"; #<============================================================================= my ($tmp_irms_radio2g_day,$tmp_irms_radio4g_day,$tmp_sitecode_num,$tmp_irms2npm_stcode_traffic,$tmp_last_num); #������ʱ�� create_temp_name("tmp",\$tmp_irms_radio2g_day,\$tmp_irms_radio4g_day,\$tmp_sitecode_num,\$tmp_irms2npm_stcode_traffic,\$tmp_last_num); #<============================================================================= print "xxxxxxxxxxxxxxxb $db_type \n"; $scm->set_sql_note(" Delete irms_radio_cell double cell_name"); $sql = qq { DELETE nrmdb:irms_radio_cell WHERE label_cn in( SELECT a.label_cn FROM nrmdb:irms_radio_cell a,nrmdb:irms_radio_cell b WHERE a.label_cn = b.label_cn AND a.cuid != b.cuid); DELETE irms2npm_stcode_traffic WHERE first_result = '$start_date'; insert into irms2npm_stcode_traffic (first_result, sitecode, codename) select '$start_date' , mobile_sitecode, report_site_code_name from nrmdb:irms_sitecode_cell where 1=1; }; $scm->execute_batch($sql); GSM_cell_sum(); LTE_cell_sum(); my $pattern = "[-\/ :]+"; my $test_date = TimeOpt::CFtime("YYYY-MM-DD "."00:00:00",$start_time); my @splite_list= split(/$pattern/, $test_date); my ($syear,$smon,$sday,$shour,$smin,$ssec) = @splite_list; # MM/DD/YYYY �ж��Ƿ���1�ţ�ִ���»��� if ($sday == 1) { Month_sum( TimeOpt::GMtime($test_date,"-1M") , TimeOpt::GMtime($test_date,"-1D")); } sub GSM_cell_sum() { $scm->set_sql_note("Start $gsm_type cell_sum"); my $sql = qq { CREATE TABLE $tmp_irms_radio2g_day ( int_id integer, first_result datetime year to second, label_cn varchar(255), tch_traffic float ); CREATE INDEX ix0_irms_radio2g_day on $tmp_irms_radio2g_day (int_id,label_cn) ; INSERT INTO $tmp_irms_radio2g_day (int_id ,first_result,tch_traffic) SELECT ne_id,first_result,tch_traffic FROM tpa_radio_sum WHERE first_result='$start_time' AND sum_level=1 AND ne_type=300 AND busy_type=0; UPDATE $tmp_irms_radio2g_day a SET label_cn= ( SELECT userlabel FROM tcc_ne_frame b WHERE a.int_id = b.ne_id AND b.ne_type=300 AND b.confirmed not in(2,5) ) WHERE EXISTS( SELECT 1 FROM tcc_ne_frame b WHERE a.int_id = b.ne_id AND b.ne_type=300 AND b.confirmed not in(2,5) ); SELECT sitecode.sitecode, cell.first_result, sitecode.network_type, sum( cell.tch_traffic) traffic FROM nrmdb:irms_radio_cell sitecode , $tmp_irms_radio2g_day cell WHERE sitecode.label_cn = cell.label_cn AND sitecode.network_type = '$gsm_type' GROUP BY 1,2,3 INTO TEMP $tmp_irms2npm_stcode_traffic with no log; create index ix2_tmp_irms2npm_stcode_traffic on $tmp_irms2npm_stcode_traffic (sitecode); UPDATE irms2npm_stcode_traffic a set tch_traffic= ( SELECT traffic FROM $tmp_irms2npm_stcode_traffic b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' AND b.network_type = '$gsm_type' ) WHERE EXISTS ( SELECT 1 FROM $tmp_irms2npm_stcode_traffic b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' AND b.network_type = '$gsm_type' ); SELECT sitecode,sum(tch_traffic) num FROM irms2npm_stcode_traffic WHERE first_result between '$detials_time' and '$start_date' GROUP BY 1 INTO temp $tmp_sitecode_num with no log ; CREATE INDEX ix0_$tmp_sitecode_num on $tmp_sitecode_num( sitecode); UPDATE irms2npm_stcode_traffic a SET last_traffic = ( SELECT num FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); SELECT sitecode,traffic FROM irms2npm_stcode_traffic WHERE first_result = '$detials_time' INTO temp $tmp_last_num with no log ; CREATE INDEX ix0_$tmp_last_num on $tmp_last_num( sitecode); UPDATE irms2npm_stcode_traffic a SET traffic = ( SELECT traffic FROM $tmp_last_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_last_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); }; $scm->set_sql_note(" Summary $gsm_type sitecode!"); $scm->execute_batch($sql); $scm->drop_temp_table($tmp_irms_radio2g_day,$tmp_sitecode_num,$tmp_irms2npm_stcode_traffic,$tmp_last_num); } sub LTE_cell_sum() { $scm->set_sql_note("Start $lte_type cell_sum"); my $sql = qq { CREATE TABLE $tmp_irms_radio4g_day ( int_id integer, first_result datetime year to second, label_cn varchar(255), upoct float ); CREATE INDEX ix0_irms_radio2g_day on $tmp_irms_radio4g_day (int_id,label_cn) ; INSERT INTO $tmp_irms_radio4g_day (int_id ,first_result,upoct) SELECT ne_id,first_result,up_oct_ul+up_oct_dl FROM tpa_eutrancell_q_sum WHERE first_result='$start_time' AND sum_level=1 AND ne_type=8105 AND busy_type=0; UPDATE $tmp_irms_radio4g_day a SET label_cn= ( SELECT userlabel FROM tcc_ne_frame b WHERE a.int_id = b.ne_id AND b.ne_type=8105 AND b.confirmed not in(2,5) ) WHERE EXISTS( SELECT 1 FROM tcc_ne_frame b WHERE a.int_id = b.ne_id AND b.ne_type=8105 AND b.confirmed not in(2,5) ); SELECT sitecode.sitecode, cell.first_result, sitecode.network_type, sum( cell.upoct) traffic FROM nrmdb:irms_radio_cell sitecode , $tmp_irms_radio4g_day cell WHERE sitecode.label_cn = cell.label_cn AND sitecode.network_type = '$lte_type' GROUP BY 1,2,3 INTO TEMP $tmp_irms2npm_stcode_traffic with no log; CREATE INDEX ix2_tmp_irms2npm_stcode_traffic on $tmp_irms2npm_stcode_traffic (sitecode); UPDATE irms2npm_stcode_traffic a set upoct= ( SELECT traffic FROM $tmp_irms2npm_stcode_traffic b WHERE a.sitecode = b.sitecode and a.first_result = '$start_date' and b.network_type = '$lte_type' ) WHERE EXISTS ( SELECT 1 FROM $tmp_irms2npm_stcode_traffic b WHERE a.sitecode = b.sitecode and a.first_result = '$start_date' and b.network_type = '$lte_type' ); SELECT sitecode,sum(upoct) num FROM irms2npm_stcode_traffic WHERE first_result between '$detials_time' and '$start_date' GROUP BY 1 INTO temp $tmp_sitecode_num with no log ; CREATE INDEX ix0_$tmp_sitecode_num on $tmp_sitecode_num( sitecode); UPDATE irms2npm_stcode_traffic a SET last_oct = ( SELECT num FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); SELECT sitecode,oct FROM irms2npm_stcode_traffic WHERE first_result = '$detials_time' INTO temp $tmp_last_num with no log ; CREATE INDEX ix0_$tmp_last_num on $tmp_last_num( sitecode); UPDATE irms2npm_stcode_traffic a SET oct = ( SELECT oct FROM $tmp_last_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_last_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); }; $scm->set_sql_note(" Summary $lte_type sitecode!"); $scm->execute_batch($sql); $scm->drop_temp_table($tmp_irms_radio4g_day,$tmp_sitecode_num,$tmp_irms2npm_stcode_traffic,$tmp_last_num); } sub Month_sum { my $st = shift; my $et = shift; $st = TimeOpt::CFtime("MM/DD/YYYY",$st); $et = TimeOpt::CFtime("MM/DD/YYYY",$et); $scm->set_sql_note("Start Month_sum cell_sum"); my $sql = qq { SELECT sitecode,sum(upoct) lte_num,sum(tch_traffic) gsm_num FROM irms2npm_stcode_traffic WHERE first_result between '$st' and '$et' GROUP BY 1 INTO temp $tmp_sitecode_num with no log ; CREATE INDEX ix0_$tmp_sitecode_num on $tmp_sitecode_num( sitecode); UPDATE irms2npm_stcode_traffic a SET oct = ( SELECT lte_num FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); UPDATE irms2npm_stcode_traffic a SET traffic = ( SELECT gsm_num FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ) WHERE EXISTS ( SELECT 1 FROM $tmp_sitecode_num b WHERE a.sitecode = b.sitecode AND a.first_result = '$start_date' ); }; $scm->execute_batch($sql); $scm->drop_temp_table($tmp_sitecode_num); } $scm->end();
关于java 反射问题
[code="java"]public static Customer setCustomerObject(String[] str) throws IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException { Class<?> classType = new Customer().getClass(); Field fields[] = classType.getDeclaredFields(); Object objectCopy = classType.getConstructor(new Class[] {}) .newInstance(new Object[] {}); for (int i = 0; i < fields.length; i++) { Field field = fields[i]; String fieldName = field.getName(); String firstLetter = fieldName.substring(0, 1).toUpperCase(); // 获得和属性对应的setXXX()方法的名字 String setMethodName = "set" + firstLetter + fieldName.substring(1); // 获得和属性对应的getXXX()方法 // 获得和属性对应的setXXX()方法 Method setMethod = classType.getMethod(setMethodName, new Class[] { field.getType() }); // 获得 set方法参数的类型 Class pvec = setMethod.getParameterTypes()[0];// color=red]这里得到了 类型,是否可以根据这个类型 将 str[i] 转换为 该类型? 将一个泛类型向下转化为具体的类型,然后调用 这个类型的方法 将str[i] 转化 比如 Long.ValueOf(str[i])[/color] System.out.println(pvec); setMethod.invoke(objectCopy, str[i]); } return (Customer) objectCopy; }[/code]
一个问过的问题 想过之后 觉得有什么地方不对 关于Java.util. Arraylist
没有泛型类时,原始的ArrayList类提供的get方法别无选择只能返回Obejct,因此,get方法的调用必须对返回值进行类型转换: Employee e = (Employee)staff. get(i): 原始的ArrayList存在一定的危险性。 它的add和set方法允许接收任意类型的对象。 对于下面这个调用 staff.set(i.new Date()); 编译时不会给出任何警告,只有在检索对象并试图对它进行类型转换时,才会发现有问题。如果使用ArrayList,编译器就会检测到这个错误。 第一个问题:Employee e = (Employee)staff. get(i): 猜测: object obj = (object) staff.get(i)(向上转型) Employee e =(Employee) obj(向下转型) 这种向下转型不是很容易会出错了。 比如boss是Employee的一员,但是Employee不一定是就是boss啊。 ---------------------------------------------------- 从object这个父类往下转换,会出现错误码?
json数据转换异常
json数据转换异常:net.sf.json.JSONException: java.lang.reflect.InvocationTargetException 解决方法如下(非常感谢这位童鞋): 摘自:http://www.2cto.com/kf/201312/266457.html 执行: JSONArray array = JSONArray.fromObject(this.users); 就会报以下错误: net.sf.json.JSONException: java.lang.reflect.InvocationTargetException users是一个list集合 方案一: JSONArray array = JSONArray.fromObject(this.users.toArray()); 方案二: 因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date,转化成JSONArray时出错;可以在从数据库读出Date 时直接写成:new java.util.Date(rs.getDate("date").getTime),这样就不会出错了; 方案三: 日期格式hibernate延时加载 1.解决:日期格式 private java.util.Date createTime; 只在字段前声明Date的数据类型可能也会抛异常,在Set,get方法中,有出现Date类型的都把包名加上 2.解决:hibernate延时加载 设置 Java代码 收藏代码 JsonConfig cfg = new JsonConfig(); cfg.setExcludes(new String[]{"handler","hibernateLazyInitializer"}); 方法举例 Java代码 收藏代码(参考图片) ![图片说明](https://img-ask.csdn.net/upload/201612/22/1482382044_822286.png)
idea配置mybits generate时报错,请问是哪配错了吗?
报错说找不到driver-class-name核对了很多次都没问题啊 报错: ``` D:\jdk1.8.0_121\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\mycode\demo_mybits\demo "-Dmaven.home=D:\software\idea\IntelliJ IDEA 2018.2.6\plugins\maven\lib\maven3" "-Dclassworlds.conf=D:\software\idea\IntelliJ IDEA 2018.2.6\plugins\maven\lib\maven3\bin\m2.conf" "-javaagent:D:\software\idea\IntelliJ IDEA 2018.2.6\lib\idea_rt.jar=7115:D:\software\idea\IntelliJ IDEA 2018.2.6\bin" -Dfile.encoding=UTF-8 -classpath "D:\software\idea\IntelliJ IDEA 2018.2.6\plugins\maven\lib\maven3\boot\plexus-classworlds-2.5.2.jar" org.codehaus.classworlds.Launcher -Didea.version=2018.2.6 mybatis-generator:generate -e [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building demo 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- mybatis-generator-maven-plugin:1.3.2:generate (default-cli) @ demo --- [INFO] Connecting to the Database [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.637 s [INFO] Finished at: 2019-11-11T09:52:35+08:00 [INFO] Final Memory: 14M/245M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project demo: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Exception getting JDBC Driver: {spring.datasource.driver-class-name} -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project demo: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Exception getting JDBC Driver at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) at org.codehaus.classworlds.Launcher.main(Launcher.java:47) Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate failed: Exception getting JDBC Driver at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) ... 21 more Caused by: java.lang.RuntimeException: Exception getting JDBC Driver at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(ConnectionFactory.java:85) at org.mybatis.generator.internal.db.ConnectionFactory.getConnection(ConnectionFactory.java:54) at org.mybatis.generator.config.Context.getConnection(Context.java:526) at org.mybatis.generator.config.Context.introspectTables(Context.java:436) at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:222) at org.mybatis.generator.maven.MyBatisGeneratorMojo.execute(MyBatisGeneratorMojo.java:203) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) ... 22 more Caused by: java.lang.ClassNotFoundException: {spring.datasource.driver-class-name} at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.mybatis.generator.internal.ObjectFactory.internalClassForName(ObjectFactory.java:150) at org.mybatis.generator.internal.ObjectFactory.externalClassForName(ObjectFactory.java:121) at org.mybatis.generator.internal.db.ConnectionFactory.getDriver(ConnectionFactory.java:82) ... 28 more [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException Process finished with exit code 1 ``` application.properties ``` ## 服务器端口,如果不配置默认是8080端口 server.port=9090 ## 数据库设置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/boot_demo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=x5 ## mybatis配置 # 参数类型的包别名设置 mybatis.typeAliasesPackage=com.example.demo.model # 指向映射xml文件目录 mybatis.mapperLocations=classpath:mapper/*.xml pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql ``` pom.xml ``` <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> <scope>runtime</scope> </dependency> </dependencies> </plugin> </plugins> </build> </project> ``` generatorConfig.xml ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--导入配置文件--> <properties resource="application.properties"></properties> <!-- 一个数据库一个context --> <context id="default"> <!-- 注释生成设置 --> <commentGenerator> <!-- 是否生成注释代时间戳--> <property name="suppressDate" value="true" /> <!-- 是否取消注释 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--jdbc的数据库连接--> <jdbcConnection driverClass="{spring.datasource.driver-class-name}" connectionURL="{spring.datasource.url}" userId="{spring.datasource.username}" password="{spring.datasource.password}"> <property name="nullCatalogMeansCurrent" value="true" /> </jdbcConnection> <!-- 类型转换 --> <javaTypeResolver> <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- targetPackage:生成的实体类所在的包 --> <!-- targetProject:生成的实体类所在的硬盘位置 --> <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"> <!-- 是否允许子包 --> <property name="enableSubPackages" value="false" /> <!-- 是否对modal添加构造函数 --> <property name="constructorBased" value="true" /> <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 --> <property name="trimStrings" value="true" /> <!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 --> <property name="immutable" value="false" /> </javaModelGenerator> <!-- targetPackage 和 targetProject:生成的 mapper xml 文件的包和位置 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"> <!-- 是否在当前路径下新加一层schema,ex:false路径com.qikegu.demo.model, com.qikegu.demo.model.[schemaName] --> <property name="enableSubPackages" value="false" /> <!-- 是否针对string类型的字段在set的时候进行trim调用 --> <property name="trimStrings" value="true"/> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 java interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.repository" targetProject="src/main/java"> <!-- 是否在当前路径下新加一层schema,ex:false路径com.qikegu.demo.model, com.qikegu.demo.model.[schemaName] --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 配置表信息 --> <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample, 是否生成 example类 --> <!-- 不同的表,修改tableName和domainObjectName就可以 --> <table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration> ```
java这个简单的服务器我要如何读取客户端的输入信息?
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import java.util.Set; public class EchoServer { public static int DEFAULT_PORT = 7; public static String text=""; public static ServerSocketChannel server; public static SocketChannel client ; public static ByteBuffer output ; public static void main(String[] args){ int port; try{ port = Integer.parseInt(args[0]); }catch(RuntimeException ex){ port = DEFAULT_PORT; } System.out.println("Listening for connertions on port "+port); ServerSocketChannel serverChannel; Selector selector; try{ serverChannel = ServerSocketChannel.open(); ServerSocket ss = serverChannel.socket(); InetSocketAddress address = new InetSocketAddress(port); ss.bind(address); serverChannel.configureBlocking(false); selector =Selector.open(); serverChannel.register(selector, SelectionKey.OP_ACCEPT); }catch(IOException ex){ ex.printStackTrace(); return; } while(true){ try{ selector.select(); }catch(IOException ex){ ex.printStackTrace(); break; } Set<SelectionKey> readyKeys = selector.selectedKeys(); Iterator<SelectionKey> iterator = readyKeys.iterator(); while(iterator.hasNext()){ SelectionKey key = iterator.next(); iterator.remove(); try{ if(key.isAcceptable()){ ServerSocketChannel server = (ServerSocketChannel) key.channel(); SocketChannel client = server.accept(); System.out.println("Accepted connection from "+client); client.configureBlocking(false); SelectionKey clientKey = client.register(selector, SelectionKey.OP_WRITE|SelectionKey.OP_READ); ByteBuffer buffer = ByteBuffer.allocate(100); clientKey.attach(buffer); } if(key.isReadable()){ client =(SocketChannel)key.channel(); output = (ByteBuffer)key.attachment(); client.read(output); output.flip(); Charset charset = Charset.forName("UTF-8"); CharsetDecoder decoder = charset.newDecoder(); CharBuffer charBuffer = null; charBuffer = decoder.decode(output); text=charBuffer.toString(); //if(text.equals("time")) //{ //System.out.println("2"); Date date=new Date(); DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=format.format(date); byte b[] = time.getBytes(); //将十六进制字符串转换成十进制整数 //int i=Integer.decode(time); //创建一个大小为1的字节缓冲区因为只放一个byte值 ByteBuffer bb=ByteBuffer.allocate(1); //将十进制整数转换成二进制byte值然后存进ByteBuffer //bb.put(b); //打印ByteBuffer中的byte值 //byte []b1=bb.array(); client.write(output); // output.compact(); //} // text=output.toString(); //System.out.println(text); //output.compact(); } if(key.isWritable()){ client = (SocketChannel) key.channel(); output = (ByteBuffer)key.attachment(); //output.flip(); client.write(output); //output.compact(); } }catch(IOException ex){ key.cancel(); try{ key.channel().close(); }catch(IOException cex){} } } } } } 这是我写的,中间有点乱,因为客户在cmd访问我的服务器如果他输入time,我要给他返回时间。。。大神求助!!
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问