java吧 关注:1,287,539贴子:12,813,619

为什么String 类里面不添加这个方法

只看楼主收藏回复



1楼2018-03-30 11:02回复
    首先我知道有toString 方法
    但是 新手也好 老鸟也好 用的比较多的就是System.out.printf吧


    2楼2018-03-30 11:03
    收起回复
      2025-11-15 22:40:23
      广告
      不感兴趣
      开通SVIP免广告
      我也知道有logger 但是 做比较小的值的确认 好像还是得用system.out.printf


      3楼2018-03-30 11:05
      收起回复
        为什么String类中不加个toprintln()
        然后
        model.getName().toprintln();


        4楼2018-03-30 11:27
        回复
          toString不知道你想干什么,你百度百度toString这个方法


          IP属地:广东来自Android客户端5楼2018-03-30 12:59
          收起回复
            不怎么实用吧


            IP属地:浙江来自Android客户端6楼2018-03-30 13:07
            回复
              除了刷题,实际项目很多print吗


              IP属地:广东来自Android客户端7楼2018-03-30 13:56
              收起回复
                我不知道你们写没写过
                Student s = new Student()
                s.setName("xxx");
                s.setAge(10);
                当你想打印的时候怎么办
                打印对象 System.out.println(s);
                打印值的时候System.out.println(s.getName()+s.getAge());
                System.out.println(s.getName());
                或者规范一些方便之后调用
                Stirng name = s.getName();
                int age = s.getAge();
                System.out.println(name);
                System.out.prinln(age);
                让我看toString nigaomao
                那么如果在Object 类 添加新的print方法 在其他需要的类中都添加了print的实现 (类似于toStirng方法 只是改成void 并且方法体中 加入System.out.printf( 内容))
                我想打印的时候
                以上面的距离子
                我想输出对象 s.prinf()
                我想输出age s.getAge().prinf();
                直接.出来
                从此告别System.out.printf() 并且不用吧代码复制到 print() 括号中
                各位觉得不实用吗


                8楼2018-03-30 14:51
                收起回复
                  2025-11-15 22:34:23
                  广告
                  不感兴趣
                  开通SVIP免广告
                  算了 自己动手改JDK 文件替换下试试


                  10楼2018-03-30 15:05
                  收起回复
                    一般要打印都是用json把对象转换来看的


                    IP属地:广东12楼2018-03-30 15:19
                    收起回复
                      mlg爪子的 刚才一查 JVM对基础类都做了安全检测 不能随便改源码


                      13楼2018-03-30 15:30
                      回复
                        定义接口
                        public interface MyObject {
                        void toPrintf();
                        }
                        //定义模型类
                        public class Model implements MyObject{
                        private String name;
                        private String age;
                        public String getName() {
                        return name;
                        }
                        public void setName(String name) {
                        this.name = name;
                        }
                        public String getAge() {
                        return age;
                        }
                        public void setAge(String age) {
                        this.age = age;
                        }
                        @Override
                        public void toPrintf() {
                        // TODO Auto-generated method stub
                        System.out.println("Demo1 [name=" + name + ", age=" + age + "]");
                        }
                        }
                        String 是不可修改的 但是如果再里面也是这么定义 那么字段直接可以.toPrint()


                        16楼2018-03-30 16:06
                        回复
                          public class Demo1 {
                          public static void main(String[] args) {
                          Model model = new Model();
                          model .setAge("小明");
                          model.setName("10");
                          model.toPrintf();
                          }
                          }
                          输出结果
                          Demo1 [name=10, age=小明]


                          17楼2018-03-30 16:08
                          回复
                            怎么说呢 一般来说 后台控制台 都不用print方法的 一般都是log


                            IP属地:广东19楼2018-03-30 16:13
                            收起回复